我有一个网站,当您填写信息并按下提交按钮时,button1_click()会将数据插入数据库。我有另一个按钮,生成一个id,获取日期和'0001'后,并填入文本框。如何使用服务器端代码让我的函数检查数据库中是否有0001,如果它在数据库中,则将其放入“0002”中?我知道我需要使用参数,但我对如何工作以及用于更新数据库的代码感到困惑..这是我的代码
protected void Button1_Click(object sender, EventArgs e)
{
SqlCommand cmd = new SqlCommand("insert into John_IEP_Crossing_Dock_Shipment values('" + generateidtxt.Text + "','" + hawbtxt.Text + "','" + invrefpotxt.Text + "','" + hppartnumtxt.Text + "','" + iecpartnumtxt.Text + "','" + qtytxt.Text + "','" + bulkstxt.Text + "','" + boxplttxt.Text + "','" + rcvddatetxt.Text + "','" + statustxt.Text + "','" + carriertxt.Text + "','" + shippertxt.Text + "', '', '','','','','',GETDATE(),GETDATE())", con);
cmd.ExecuteNonQuery();
con.Close();
generateidtxt.Text = "";
hawbtxt.Text = "";
invrefpotxt.Text = "";
hppartnumtxt.Text = "";
iecpartnumtxt.Text = "";
qtytxt.Text = "";
bulkstxt.Text = "";
boxplttxt.Text = "";
rcvddatetxt.Text = "";
statustxt.Text = "";
carriertxt.Text = "";
shippertxt.Text = "";
con.Dispose();
}
protected void generateid_Click(object sender, EventArgs e)
{
generateidtxt.Text = "from DB";
}
}
这是我认为我需要使用的sql命令..
insert John_IEP_Crossing_Dock_Shipment (ID)
select ID = Left(max(ID),10) + '-' + RIGHT('000' + convert(varchar,convert(int,right(max(ID),4)) + 1), 4)
from John_IEP_Crossing_Dock_Shipment
where Left(ID,10) = convert(varchar(10), Getdate(),20)
select ID = Left(max(ID),10) + '-' + RIGHT('000' + convert(varchar,convert(int,right(max(ID),4)) + 1), 4)
from John_IEP_Crossing_Dock_Shipment
where Left(ID,10) = convert(varchar(10), Getdate(),20)
答案 0 :(得分:0)
如果我理解你正确的问题,你的意思是你想从新插入的记录中获取一个值并检查它的值吗?
如果是这样,您可以使用@@ IDENTITY,它将为您提供插入数据库的最后一条记录的ID,您可以从中运行SELECT语句并检索应用检查所需的数据。
有关更多信息,请参阅以下链接: