我有這個存儲過程不起作用。如果我在管理工作室嘗試使用填充的參數在管理工作室中查詢此作品,我看不到我的代碼中是否做了任何錯誤,但我希望這裏有人確實注意到我在做錯事C#sql server 2008 r2插入存儲過程將不起作用
CREATE PROCEDURE new_project
-- Add the parameters for the stored procedure here
@proj_naam nvarchar = null,
@plaats nvarchar = null,
@opd_geef int = 0,
@status int = 0,
@proj_id int = 0 AS BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
INSERT INTO project (naam_project, plaats, opdrachtgeverZEEBREGTS_nr, status, project_NR)
VALUES (@proj_naam, @plaats, @opd_geef, @status, @proj_id) END GO
和C#代碼:
System.Data.SqlClient.SqlConnection con;
con = new System.Data.SqlClient.SqlConnection();
con.ConnectionString = Global.ConnectionString_fileserver;
con.Open();
string stopro = "";
switch (type)
{
case 1:
stopro = "new_project";
break;
case 2:
stopro = "new_bedrijf";
break;
case 3:
stopro = "new_persoon";
break;
}
SqlCommand command = new SqlCommand(stopro, con);
command.CommandType = CommandType.StoredProcedure;
switch (type)
{
case 1:
SqlParameter proj_naam = command.Parameters.Add("@proj_naam", SqlDbType.NVarChar);
SqlParameter plaats = command.Parameters.Add("@plaats", SqlDbType.NVarChar);
SqlParameter opdrachtgever = command.Parameters.Add("@opd_geef", SqlDbType.Int);
SqlParameter status = command.Parameters.Add("@status", SqlDbType.Int);
SqlParameter proj_id = command.Parameters.Add("@proj_id", SqlDbType.Int);
proj_naam.Value = tb_proj_projectnaam.Text; proj_naam.Direction = ParameterDirection.Input;
plaats.Value = tb_proj_plaats.Text; plaats.Direction = ParameterDirection.Input;
opdrachtgever.Value = cb_proj_opdrachtgever.SelectedValue; opdrachtgever.Direction = ParameterDirection.Input;
status.Value = cb_proj_status.SelectedValue; status.Direction = ParameterDirection.Input;
proj_id.Value = id; proj_id.Direction = ParameterDirection.Input;
break;
}
int nwok = command.ExecuteNonQuery();
con.Close();
所以我希望有人能夠幫助日Thnx提前!
它會拋出一個特定的錯誤嗎? – Xavinou 2011-02-17 14:28:13
你能定義「不行」嗎?它是否提供了錯誤信息,或者沒有返回任何內容?它是否真的到達了ExecuteNonQuery行,因爲它在中斷之後,但可能是因爲你剪掉了一些代碼。 – 2011-02-17 14:29:06
沒有錯誤,int nwok存儲的是受影響的行數,所以如果添加了一行,它將返回1,如果不是0,並且我只能得到0.如果檢查我的數據庫,新行不存在。所以它沒有做任何事情。 – Daanvl 2011-02-17 14:31:50