添加新记录的方法如下:
DataTable table=ds.Tables["test"];
DataRow row=table.NewRow();//创建新行
row["用户姓名"]=txt_Name.Text;
row["用户年龄"]=txt_Age.Text;
row["用户生日"]=Borndate.Text;
table.Rows.Add(row);用这种方法添加新的记录怎样获取新记录的编号?
DataTable table=ds.Tables["test"];
DataRow row=table.NewRow();//创建新行
row["用户姓名"]=txt_Name.Text;
row["用户年龄"]=txt_Age.Text;
row["用户生日"]=Borndate.Text;
table.Rows.Add(row);用这种方法添加新的记录怎样获取新记录的编号?
解决方案 »
- 用c#的OLEDB导入Excel数据,产生科学计数法问题,有高手来看看啊
- 关于wpf数据显示的问题!
- web server如何向windows server post 数据?类似httpHandlers
- 请教一个事物的问题
- 不同风格的三态树升级了
- 邮件发送错误System.Web.Mail.SmtpMail.Send(message),这一步出错,帮帮忙吧
- Ribbon
- 如何获得水晶报表中字段的值?
- C# winform richtextbox 在窜口接收的数据中 查找指定的字符并高亮
- .net导出excel,在本地没有问题,但是在发布到服务器后就出现问题,不报错,但是导出的数据不完整,是什么原因啊!
- 那位大虾帮帮忙,急!小弟虚心请教!用什么办法能释放静态IP;
- 请问在VisualStudio.net_2005_Team_Suit_简体中文正式版自安装的那个mssqlserver2005中,为什么没有sql2k那样的企业管理器呢
1.
OleDbConnection conn = new OleDbConnection(_users.dataConnstr);
OleDbCommand cmd = new OleDbCommand("SELECT MAX(用户编号) FROM consumer", conn);
conn.Open();
OleDbDataReader accessReader;
accessReader=cmd.ExecuteReader();
Id=accessReader["用户编号"].ToString();2
OleDbConnection conn = new OleDbConnection(_users.dataConnstr);
OleDbCommand cmd = new OleDbCommand("SELECT TOP 1 FROM consumer Order by 用户编号 DESC", conn);
conn.Open();
OleDbDataReader accessReader;
accessReader=cmd.ExecuteReader();
Id=accessReader["用户编号"].ToString();这两种方法都读不出来
//加这一行
if (accessReader.Read())
Id=accessReader["用户编号"].ToString();
else
ID=....;
比如
datacolumn.AutoIncrement = true;//设置该列为自增长,
datacolumn.AutoIncrementSeed = -1;//新增列的初始值。
datacolumn.AutoIncrementStep = -1;//列的值自动递增的数值。默认为 1。
这样你添加第一条新增数据的时候临时主键为-1,
第二条为-2,
错误应该是你的SQL语句有问题,应该改为:
OleDbConnection conn = new OleDbConnection(_users.dataConnstr);
OleDbCommand cmd = new OleDbCommand("SELECT MAX(用户编号) 用户编号 FROM consumer", conn);
conn.Open();
OleDbDataReader accessReader;
accessReader=cmd.ExecuteReader();
Id=accessReader["用户编号"].ToString(); //只有在SQL查询返回的字段有别名的情况下,才可以在DataReader中用别名访问
现在用的是hnhl(荒凉) 的方法,有时候取出来的是新添加的记录的id号,可有时候得到的是前一个的id号,有人遇到过这个问题嘛?