我正在使用ASP.NET 4.0,C#和SQL Server 2008 R2。我從網頁中的用戶處獲取UserName
,以便存儲在SQL表User_Info2
中。使用SQL Server 2008功能「計算列」,我使用存儲過程爲每個Insert
自動生成Vendor_ID
。在按鈕單擊時,在插入記錄後,我想用Vendor_ID
顯示消息,那麼請任何人告訴我如何從存儲過程獲取Vendor_ID
列?如何在存儲過程中獲得計算列值
CREATE TABLE User_Info2
( SNo int Identity (2000,1) ,
Vendor_ID AS 'VEN' + CAST(SNo as varchar(16)) PERSISTED PRIMARY KEY,
UserName VARCHAR(30) NOT NULL
)
存儲過程
ALTER PROCEDURE [dbo].[usp_User_Info2] @UserName VARCHAR(30)
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO User_Info2 (UserName) VALUES (@UserName)
END
C#代碼:
protected void BtnUserNext_Click(object sender, EventArgs e)
{
SqlConnection SqlCon = new SqlConnection(GetConnectionString());
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "usp_User_Info2";
cmd.Parameters.Add("@UserName", SqlDbType.VarChar).Value = txtUserName.Text.Trim();
cmd.Connection = SqlCon;
try
{
SqlCon.Open();
cmd.ExecuteScalar();
}
finally
{
string url = "../CompanyBasicInfo.aspx?Parameter=" + Server.UrlEncode ("+ Vendor_ID +");
ClientScript.RegisterStartupScript(this.GetType(),"callfunction",
"alert('Login created successfully for "+ Vendor_ID +"');
window.location.href = '" + url + "';", true);
SqlCon.Close();
}
}
是否要插入id值? –
使用選擇查詢最後一條記錄 –
我必須像這樣在SP中聲明Vendor_ID? @Vendor_ID INT輸出? – Hari