首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

access插入数据的有关问题

2012-05-16 
access插入数据的问题第一次使用access作为数据库,卡在插入的问题上了我在access上建了一个表 有四个字段

access插入数据的问题
第一次使用access作为数据库,卡在插入的问题上了
我在access上建了一个表 有四个字段分别为
id 自动编号 key
url 文本
mark 是/否
email 文本
time 日期/时间
插入的代码

C# code
   OleDbConnection conn = new OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;Data Source=Data.mdb");            bool bo = true;            DateTime dt = DateTime.Now;            conn.Open();             OleDbCommand cmd = new OleDbCommand();            cmd.Connection = conn;            string x1 = "ddd";            string x2 = "aaaa";            cmd.CommandText = string.Format("insert into emailList(url,email,mark,time) values('{0}','{1}',{2},#{3}#)",x1,x2,bo,dt.ToString("yyyy/MM/dd"));            cmd.ExecuteNonQuery();//这个地方报错:INSERT INTO 语句的语法错误。各位看官能告诉我出错在哪里吗?

我把id去掉 不设关键字直接用 cmd.CommandText = string.Format("insert into emailList values('{0}','{1}',{2},#{3}#)",x1,x2,bo,dt.ToString("yyyy/MM/dd"))插入成功!难倒是出在id上?
各位能看出我出的问题在哪里吗?请不吝指教

[解决办法]
insert into emailList(url,email,mark,time) values('0}','{1}',{2},#{3}#)

insert into emailList(url,email,mark,time) values('a','b','c','#2010-2-2#')
看看还错不会,你格式成我这样的你看看还错不??

[解决办法]
是不是有关键字,改成下面这样试试
 cmd.CommandText = string.Format("insert into emailList([url],[email],[mark],[time]) values('{0}','{1}',{2},#{3}#)",x1,x2,bo,dt.ToString("yyyy/MM/dd"));
[解决办法]
不要使用Format。
最好的写法是
sql = "insert into emailList(url,email,mark,time) values(@url,@email,@mark,@time)"
采用参数化的方法

热点排行