【发布时间】:2014-03-10 14:01:57
【问题描述】:
private void fillcode()
{
try
{
SqlConnection con = new SqlConnection("Data Source=ANISH;Initial Catalog=HM;Integrated Security=True");
con.Open();
string s = "select max(CustomerId) as Id from CustomerDetails";
SqlCommand cmd = new SqlCommand(s, con);
SqlDataReader dr = cmd.ExecuteReader();
dr.Read();
int i = Convert.ToInt16(dr["Id"].ToString());
sid.Text = (i + 1).ToString();
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
我正在使用此代码,但如果我的表中没有数据,它将无法接受。 因此,如果没有数据,我想使用它应该将 CustomerId 设为 1
【问题讨论】:
-
测试系统中是否有ID。如果没有,则使用 1。顺便说一句,您应该编辑问题的标题,使其更能描述您的问题,而不是一堆标签。
-
您似乎正在尝试根据表中该列中的最后一个最高值创建递增的客户 ID。我强烈建议让 SQL Server 通过将列设置为您的
IDENTITY来为您执行此操作。它将以更安全的方式为您完成此操作。
标签: c# sql sql-server winforms if-statement