2016-12-04 2 views
0

Я пытаюсь принять значение из своего графического интерфейса и использовать его в своем запросе. Как я могу это сделать с помощью C#? Я пытаюсь использовать значение GUI для замены «cid».Mysql Query Replacement String

string query = "SELECT firstname, lastname, quanitybought FROM customers s, beersbought a WHERE exists(SELECT 'x' FROM beersbought b WHERE b.cid = s.cid)"; 

Есть ли способ заменить значения со значением, которое я получаю от своего графического интерфейса? Например, где b.GUIVALUE = s.GUIVALUE.

ответ

1

Посмотрите String.Format(), как вы можете легко добиться того, что вы хотите использовать что-то вроде

string query = string.Format("SELECT firstname, lastname, quanitybought FROM customers s, beersbought a WHERE exists(SELECT 'x' FROM beersbought b WHERE {0} = {1})", bCidUIControl.Text, sCidUIControl.Text); 

выше предполагает, что у вас есть 2 управления пользовательского интерфейса (названный bCidUIControl и sCidUIControl), такие как TextBox где значения параметра установлены/выбраны.

Просто имейте в виду, что вы должны быть очень защитными в своем программировании запросов, подобных этому, чтобы свести к минимуму вероятность атак SQL-инъекций. Несмотря на то, что выше будет достигнуто то, что вы хотите, вы должны, вероятно, посмотреть на замену этих текстовых значений на проверенные свойства типа в классе.

Надеюсь, это поможет?