У меня есть кусок кода, где я могу передать информацию в команду MySQL, используя параметры через соединение ODBC.
Пример кода, показывающего фамилию, переданную с использованием строки surnameToLookFor:
using (OdbcConnection DbConn = new OdbcConnection( connectToDB ))
{
OdbcDataAdapter cmd = new OdbcDataAdapter(
"SELECT Firstname, Address, Postcode FROM customers WHERE Surname = ?", DbConn);
OdbcParameter odbcParam = new OdbcParameter("surname", surnameToLookFor);
cmd.SelectCommand.Parameters.Add(odbcParam);
cmd.Fill(dsCustomers, "customers");
}
Что я хотел бы знать, могу ли я указать, куда мой параметр должен идти более значимо, чем просто иметь? отметить позицию - как я мог видеть, это становится довольно трудно отлаживать, если заменяется несколько параметров.
Я бы хотел дать имя параметру примерно так:
SELECT Firstname, Address, Postcode FROM customers WHERE Surname = ?surname ",
Когда я пытаюсь это сделать, он просто задыхается.
следующий код
public System.Data.DataSet Customer_Open(string sConnString, long ld)
{
using (MySqlConnection oConn = new MySqlConnection(sConnString))
{
oConn.Open();
MySqlCommand oCommand = oConn.CreateCommand();
oCommand.CommandText = "select * from cust_customer where id=?id";
MySqlParameter oParam = oCommand.Parameters.Add("?id", MySqlDbType.Int32);
oParam.Value = ld;
oCommand.Connection = oConn;
DataSet oDataSet = new DataSet();
MySqlDataAdapter oAdapter = new MySqlDataAdapter();
oAdapter.SelectCommand = oCommand;
oAdapter.Fill(oDataSet);
oConn.Close();
return oDataSet;
}
}
от http://www.programmingado.net/a-389/MySQL-NET-parameters-in-query.aspx
и включает в себя фрагмент
where id=?id
Что было бы идеально.
Это доступно только через разъем .Net, а не через ODBC?
Если возможно использовать ODBC, как мне нужно изменить фрагмент кода, чтобы включить это?