-1
我使用的SQLite数据库SQLite的要在Windows Phone 7的 我使用Community.CsharpSqlite.Wp第三方DLL无法插入硬编码值在WP7
我创建客户表具有像ID,姓名字段,电子邮件,说明
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;
}
}
和我的INSERT语句如下按钮点击
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);
}
此代码工作正常..值将被插入到数据B酶。
但是,如果我硬编码值就像
“插入到客户(名称,电子邮件,DESC)VALUES( 'ABCD', '[email protected]', 'DESCRI')”
和我的代码改变这样的
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
Customer tst = new Customer();
string strInsert = " Insert into Customer (Name,Email,Desc) values ('ABCD','[email protected]','DESCRI')";
rec = (Application.Current as App).db.Insert < Customer>(tst,strInsert);
}
我得到错误“插入失败:绑定或列索引超出范围” 在DBHelper.cs
我删除@ gmail.com和测试,但仍同样的错误 – Mahesh
你需要调用一个db.Execute方法或其他东西。你意识到你问一个关于代码的问题实际上不在你的问题中。 (); – rene
public int Insert(T obj,string statement)其中T:new() { 尝试 { Open(); SQLiteCommand cmd = db.CreateCommand(statement); int rec = cmd.ExecuteNonQuery(obj); return rec; } catch(SQLiteException ex) System.Diagnostics.Debug.WriteLine(“Insert failed:”+ ex.Message);投掷前; } }这是包装代码iam使用的是DBHelper.cs中的插入方法 –
Mahesh