我想在文本框中插入自动生成数字显示在数据库中加载(如000000001)时未定义主键,如果表号找到0则每次表单打开时都会增加用户输入数据。请帮我怎么做。我正在使用 C#。 感谢
它的工作,但我需要从表格提交。
public void RetriveWorkRequestNo ()
{
try
{
string query = "SELECT IDENT_CURRENT('WorkRequests')";
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
SqlCommand cmdwr = new SqlCommand(query, conn);
SqlDataReader reader = cmdwr.ExecuteReader();
while (reader.Read())
{
int value = int.Parse(reader[0].ToString()) + 1;
textWorkRequestNo.Text = value.ToString("0000000000");
textWorkRequestNo.ReadOnly = true;
}
}
catch (Exception)
{
throw;
}
finally
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
答案 0 :(得分:0)
我的建议是创建一个单独的表来创建/存储表单ID。您可以将此表设置为auto_increment PK,因为听起来您不需要任何复杂的表单ID。这样,每次启动表单时,都可以向表中添加一行并获取表单ID。如果后续表单已启动,您可以继续执行插入并返回表单ID。这将避免任何重复问题以及其他查询或计算。
如果您需要代码生成表并调整示例代码,请注释,但根据您当前使用的代码,它应该非常简单。