用于更新的服务器代码?

时间:2013-06-14 15:02:08

标签: asp.net sql

我有一个网站,当您填写信息并按下提交按钮时,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)

1 个答案:

答案 0 :(得分:0)

如果我理解你正确的问题,你的意思是你想从新插入的记录中获取一个值并检查它的值吗?

如果是这样,您可以使用@@ IDENTITY,它将为您提供插入数据库的最后一条记录的ID,您可以从中运行SELECT语句并检索应用检查所需的数据。

有关更多信息,请参阅以下链接:

http://msdn.microsoft.com/en-us/library/ms187342.aspx