我需要使用函数max运行自动编号或它的工作。
我使用导入文件excel到datagridview并生成字段'refId'不重复。
代码:
int count = 1;
sb = new StringBuilder();
sb.Append("SELECT COUNT(*) FROM tableAset");
string sql = sb.ToString();
cmd.CommandText = sql;
cmd.CommandType = CommandType.Text;
cmd.Connection = Conn;
count = (int)cmd.ExecuteScalar();
int newCount = count;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
newCount = newCount + 1;
dataGridView1.Rows[i].Cells[0].Value = cbType.Text + "000" + newCount;
dataGridView1.Rows[i].Cells[8].Value = cbType.Text;
dataGridView1.Rows[i].Cells[9].Value = "000" + newCount;
}
cmd.ExecuteNonQuery();
现在结果。
refId | typeId | AUTONUM
M0005 | M | 5
M0006 | M | 5
T0001 | T | 1
T0002 | T | 2
Y0003 | Y | 3
Y0004 | Y | 4
但我需要结果:
实施例。
refId | typeId | AUTONUM
M0001 | M | 1
M0002 | M | 2
T0001 | T | 1
T0002 | T | 2
Y0001 | Y | 1
Y0002 | Y | 2
refId | typeId | AUTONUM
M0003 | M | 3
M0004 | M | 4
T0003 | T | 3
T0004 | T | 4
Y0003 | Y | 3
Y0004 | Y | 4
这是数据库中的总结。
refId | typeId | AUTONUM
M0001 | M | 1
M0002 | M | 2
M0003 | M | 3
M0004 | M | 4
T0001 | T | 1
T0002 | T | 2
T0003 | T | 3
T0004 | T | 4
Y0001 | Y | 1
Y0002 | Y | 2
Y0003 | Y | 3
Y0004 | Y | 4
我经常抱歉。
非常感谢你的时间。 :))
答案 0 :(得分:4)
public int Autogenerate()
{
con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Directory.GetCurrentDirectory() + "/CleaningTroopers.mdb");
con.Open();
string str4 = "select iif(isnull(max(uom_code)),1000,max(uom_code)+1) from uom_master ";
cmd = new OleDbCommand(str4, con);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
return Convert.ToInt32(dt.Rows[0][0]);
con.Close();
}