当前位置:编程学习 > C#/ASP.NET >>

大家来帮忙了~~~

用C#连接ACCESS数据库里的表  有个数据库里有个自动编号的字段 
每会添加新行的时候 自动编号的字段总是NULL
怎么半 
int cd=int.Parse(cid.Text);
int cou=int.Parse(count.Text);
string str=insert into e values     ('"+cid.Text+"','"+data.Text+"','"+count.Text+"','"+type.Text+"')";
cmd=new OleDbCommand(str,con);
ad.InsertCommand=cmd;
DataRow row=table.NewRow();
row["CID"]=cd;
row["Data"]=data.Text;
row["Count"]=cou;
row["Type"]=type.Text;
table.Rows.Add(row);
ad.Update(se,"e");
se.AcceptChanges();
this.dataGrid1.DataSource=table;
自动编号的字段是TID  
大家帮帮忙了 --------------------编程问答-------------------- TID是自动编码,所以不需要你手动插入。

string str=insert into e values     ('"+data.Text+"','"+count.Text+"','"+type.Text+"')";
--------------------编程问答-------------------- 插入时指定列名

string str=insert into e(Data,Count,Type) values     ('"+data.Text+"','"+count.Text+"','"+type.Text+"')";
--------------------编程问答-------------------- 可是还不行    说是   insert into 语句 语法错误
谁能把完整的代码发上来 谢谢了饿 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 建议楼主使用带参数SQL语句,这样看起来易懂也安全同时TID是自动编码,所以不需要你手动插入

string strSql = "INSERT INTO e (Data,Count,Type) VALUES (@Data,@Count,@Type)";

OleDbCommand cmd=new OleDbCommand();

cmd.Connection = con;
cmd.CommandText = strSql;

cmd.Paramters.AddWithValue("@Data",data.Text);
cmd.Paramters.AddWithValue("@Count",count.Text);
cmd.Paramters.AddWithValue("@Type",type.Text);

ad.InsertCommand=cmd;

......
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,