无法在wp7中向sqlite插入硬编码值
本文关键字:插入 编码值 sqlite 中向 wp7 | 更新日期: 2023-09-27 18:01:31
我在Windows phone 7中使用sqlite数据库我正在使用Community.CsharpSqlite.Wp第三方dll
我创建了客户表,其中有ID, Name, Email, Desc等字段
public class Customer
{
public int ID { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public string Desc { get; set; }
public Customer() { }
public Customer(int Id, string name, string email, string desc)
{
ID = Id;
Name = name;
Email = email;
Desc = desc;
}
}
和我的插入语句如下,在按钮上单击
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
string strInsert = " Insert into Customer (Name,Email,Desc) values(@Name,@Email,@Desc)";
Customer tst = new Customer
{
Name = "Name " + i,
Email = Name + "@" + "aaa.com",
Desc = "Desc for " + i
};
rec = (Application.Current as App).db.Insert < Customer>(tst,strInsert);
}
This Code Works fine..值将被插入数据库。
但是如果我硬编码像
这样的值"Insert into Customer (Name,Email,Desc) values ('ABCD','TEST@gmail.com','DESCRI')"
和我的代码更改如下
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
Customer tst = new Customer();
string strInsert = " Insert into Customer (Name,Email,Desc) values ('ABCD','TEST@gmail.com','DESCRI')";
rec = (Application.Current as App).db.Insert < Customer>(tst,strInsert);
}
我得到错误"插入失败:绑定或列索引超出范围"在DBHelper.cs
你正在调用一个接受一个对象的泛型重载。根据该对象/类型,我假设helper创建了需要与实际sql语句中的参数占位符匹配的参数。
如果你想执行一个没有参数或不需要参数的SqliteCommand,使用不带对象的重载,例如:
cmd.ExecuteNonQuery();