我得到這個錯誤,當我嘗試執行存儲過程並獲得空數據集。在C中找不到表0錯誤#
private SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["learnaspConnectionString"].ConnectionString);
protected void btnregister_Click(object sender, EventArgs e)
{
try
{
con.Open();
SqlCommand cmd = new SqlCommand("dbo.RegisterInsert", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter p1 = new SqlParameter("@fname", txtfname.Text);
SqlParameter p2 = new SqlParameter("@lname", txtlname.Text);
SqlParameter p3 = new SqlParameter("@company", txtcompany.Text);
SqlParameter p4 = new SqlParameter("@phone", txtphone.Text);
SqlParameter p5 = new SqlParameter("@address", txtaddress.Text);
SqlParameter p6 = new SqlParameter("@email", txtemail.Text);
cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);
cmd.Parameters.Add(p3);
cmd.Parameters.Add(p4);
cmd.Parameters.Add(p5);
cmd.Parameters.Add(p6);
cmd.ExecuteNonQuery();
con.Close();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
DataTable dt = ds.Tables[0];
ListViewDetails.DataSource = ds;
ListViewDetails.DataBind();
lblmessage.Visible = true;
lblmessage.Text = "Registration Completed Successfully!";
}
catch (SqlException ex)
{
}
}
我的存儲過程是:
CREATE PROCEDURE [dbo].[RegisterInsert]
-- Add the parameters for the stored procedure here
@fname nvarchar(50),
@lname nvarchar(50),
@company nvarchar(50),
@phone nvarchar(50),
@address nvarchar(250),
@email nvarchar(250)
SET NOCOUNT ON;
insert into [dbo].[register]
([fname],
[lname],
[company],
[phone],
[address],
[email])
values
(@fname,
@lname,
@company,
@phone,
@address,
@email)
END
我不能夠得到的數據顯示在列表視圖控件,當我在數據庫運行我code.Button Click事件賣場值的兩倍,並給出error'Cannot找到表0'。
請幫我讓我知道我的代碼在哪裏錯了。
在此先感謝。
你希望在'ds.Tables'中做些什麼?因爲你不執行任何'SELECT'語句 – CodingIntrigue
cmd.ExecuteNonQuery()在任何情況下都不會返回DataAdapter – Cris
事實上,正如@RGraham所說,你的存儲過程不會返回任何表,所以什麼都不會被填充。你是否想要從存儲過程中重新調用'Scope_Identity()'? http://technet.microsoft.com/en-us/library/ms190315.aspx – Jodrell