Как добавить параметры в Sqllitecommand - PullRequest
1 голос
/ 22 марта 2012

Я использую vs2008 и SQLLite.Net, когда я использую этот код:

String sel = "select * from admins where [name]='admin88' and [password]='123456'";
System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection();
conn.ConnectionString = Config.connStr;
conn.Open();

System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand();


cmd.CommandText = sel;
cmd.CommandType = CommandType.Text;

cmd.Connection = conn;

DataSet set = new DataSet();
System.Data.SQLite.SQLiteDataAdapter adp = new System.Data.SQLite.SQLiteDataAdapter() ;
adp.SelectCommand = cmd;
adp.Fill(set);
adp.Dispose();

Response.Write(set.Tables.count);

это работает. но когда я использую параметры, вернуть ноль:

String sel = "select * from admins where [name]=@name and [password]=@pass";
cmd.Parameters.Clear();
cmd.Parameters.Add(new System.Data.SQLite.SQLiteParameter("@name", "admin88"));
cmd.Parameters.Add(new System.Data.SQLite.SQLiteParameter("@pass", "123456"));

1 Ответ

1 голос
/ 22 марта 2012

Ссылка: SQL как понял SQLite

: AAAA Двоеточие, за которым следует имя идентификатора, содержит место для имени параметр с именем: AAAA. Именованные параметры также нумеруются.

Ваш запрос должен быть таким:

String sel = "select * from admins where [name]= :name and [password]= :pass";

Добавить параметры без символа @. Проверьте следующий фрагмент кода.

SQLiteParameter[] myParams = new SQLiteParameter[]  
    { 
      new SQLiteParameter("DeptNo", 10), 
      new SQLiteParameter("DName", "COUNTING") 
    }; 
  SQLiteConnection sqConnection1 = new SQLiteConnection("DataSource=mydatabase.db"); 
  CreateCommand(sqConnection1,"UPDATE Dept SET DName = :DName WHERE DeptNo = :DeptNo",myParams); 

Ссылка это .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...