数据库主键 我现在做一个插入操作,数据库设置主键ID为非空,可不是自动增长的我怎么获取数据库表里的主键最大值,也就是说我要知道在我之前插入的那条记录的ID是多少,要不没办法插入。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Select Max(ID)From 表用ADO先得到这个值,再去插入 在添加数据的存储过程中declare @id intset @id=(select isnull(max(id),0)+1 from table)然后用@id作为主键insert private string GetJourNO(){ SqlConnection con = new SqlConnection(strConn); con.Open(); string strSQL = "select max(JournalNumber) from Journal"; SqlCommand com = new SqlCommand(strSQL, con); object obj = com.ExecuteScalar(); if (obj == null || obj.ToString() == "") { strJourNO = "0000001"; } else { string strJ = obj.ToString(); strJourNO = (Convert.ToInt64(strJ) + 1).ToString("0000000"); } con.Close(); return strJourNO; } Select Max(ID) From 表 可以区取表当前最大的值,这个值加上1就是你可以插入的新值,但这种在非并发的情况下可以,若在大并发的情况下插入的值会出现重复。 winForm中设置Panel的透明度 我写的datagridview分页,为什么失败了? 运行winform程序出现。开发工具是vs2008 请大虾帮忙写上注释! 网上书店网站,怎么实现按作者实现模糊查询?查询出来的内容是不是要用GIRDVIEW显示啊? 怎样调用远程计算机的内存使用情况! 请问在ASP.NET中,如何让一个文本框不允许复制粘贴,只能手输呀? 数据库记录浏览的问题? 有熟悉正弦曲线拟合的朋友们,请给些资料。 急求___C#中怎样得到动态当前系统时间?? 求助:如何使一段程序运行的时候,将程序锁定等待程序的运行? c# 最难的bug是什么?
用ADO先得到这个值,再去插入
declare @id int
set @id=(select isnull(max(id),0)+1 from table)
然后用@id作为主键insert
{
SqlConnection con = new SqlConnection(strConn);
con.Open();
string strSQL = "select max(JournalNumber) from Journal";
SqlCommand com = new SqlCommand(strSQL, con);
object obj = com.ExecuteScalar();
if (obj == null || obj.ToString() == "")
{
strJourNO = "0000001";
}
else
{
string strJ = obj.ToString();
strJourNO = (Convert.ToInt64(strJ) + 1).ToString("0000000");
}
con.Close();
return strJourNO;
}