【发布时间】:2014-06-26 10:51:01
【问题描述】:
这很简单,但我看不出错误在哪里!该参数未添加到查询中。这是我的代码:
SQLiteDB db;
db = new SQLiteDB(Config.getMasterUsersDB());
DataTable masterUsers;
SQLiteCommand query = new SQLiteCommand("SELECT username , password , localDB FROM master_users WHERE username = @username");
query.Parameters.Add("@username", comboMasterUsers.SelectedItem.ToString());
masterUsers = db.GetDataTable(query.CommandText);
foreach (DataRow r in masterUsers.Rows)
{
if (txtPassword.Text == r["password"].ToString())
{
Config.setLocalDB(r["localDB"].ToString());
Config.setLoggedMasterUser(r["username"].ToString());
this.Hide();
formMain formMain = new formMain();
formMain.Show();
}
}
SQLiteDB 是一个帮助类,用于建立数据库连接和检索
public DataTable GetDataTable(string sql)
{
DataTable dt = new DataTable();
try
{
SQLiteConnection cnn = new SQLiteConnection(dbConnection);
cnn.Open();
SQLiteCommand mycommand = new SQLiteCommand(cnn);
mycommand.CommandText = sql;
SQLiteDataReader reader = mycommand.ExecuteReader();
dt.Load(reader);
reader.Close();
cnn.Close();
}
catch (Exception e)
{
throw new Exception(e.Message);
}
return dt;
}
为什么我得到提供给命令错误的参数不足?我也看不到任何错别字。
【问题讨论】:
标签: c# sql sqlite parameters