情報を入力して送信ボタンを押すと、button1_click() がデータベースにデータを挿入する Web サイトがあります。日付と「0001」を取得してテキストボックスに入力するIDを生成する別のボタンがあります。サーバー側コードを使用して、関数がデータベースに 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)