日期:2014-05-18  浏览次数:20772 次

求高手帮忙,如何向数据库中添加,修改主键是自动编号的记录?用insert,update怎么写??????
string strsql = string.Format("insert into lend values('{0}','{1}','{2}','{3}','{4}','{5}')", textBox1.Text.Trim(), textBox2.Text.Trim(), jdTimer1.Value, gdTimer1.Value, textBox3.Text.Trim(), comboBox1.SelectedItem);
用这一句时,当没有自动编号时,可以成功向数据可中加入数据。但是,当我给表lend再加一列ID做主键时,我使用这样的语句就有问题了,,无法添加信息。请问,我该怎么写?求高手帮忙指教一下。。
另外,我要修改是应该怎么写update语句?假如表有3(A,B,C),A为主键(自动编号)对应textBox1,B为时间对应jdTimer1(datepickTimer控件),C备注对应textBox2控件。表为lend;数据库应该不用吧,假如数据库是shuju.accdb;
update lend set 。。。
这个该怎么写呀?我试了半天我都写不对。。。。求高手来指教呀。。。。


------解决方案--------------------
自增长列是不能修改的,数据库自己管理的
------解决方案--------------------
如果想自定义的话就不要自增长或者用guid
------解决方案--------------------
一般数据库提供一种模式(不同数据库不同),允许你操纵自动增长的主键,但是这样的模式会使得数据库离线。另一种办法就是创建一条新记录,(关系约束确保它的外键也被更新,或者手动更新外键),再删除原来的,要将这三者作为事务。
------解决方案--------------------
参考http://topic.csdn.net/u/20080401/21/c44f7d93-6ab3-46c4-b567-97c4a59dbb82.html
------解决方案--------------------
把lend新加的列设置成 char(36)

需要插入数据时候 直接对应着这列 在sql里面 newid()就行

还有你的sql最好能

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) 

这样指定到列 养成一个 好的规范 项目大了 sql变动多了 你这样问题就一大堆