无法找到表0
做查找时出现的问题privatevoidbutton1_Click(objectsender,EventArgse){if(txtName.Text.Trim()==""...
做查找时出现的问题
private void button1_Click(object sender, EventArgs e)
{
if (txtName.Text.Trim() == "" && txtPhone.Text.Trim() == "")
{
MessageBox.Show("姓名和电话至少填写一项");
return;
}
try
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=LENOVO-THINK\\SQLEXPRESS;Initial Catalog=phonebook;Integrated Security=True";
SqlCommand cmd = new SqlCommand("查找联系人", conn);
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@name", SqlDbType.VarChar, 50);
cmd.Parameters.Add("@phone", SqlDbType.VarChar, 200);
cmd.Parameters.Add("@user", SqlDbType.VarChar, 50);
cmd.Parameters["@name"].Value = txtName.Text.Trim();
cmd.Parameters["@phone"].Value = txtPhone.Text.Trim();
cmd.Parameters["@user"].Value = strUserName;
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds);
dgvResult.DataSource = ds.Tables[0];
this.Height = 250;
}
catch (Exception ee)
{
MessageBox.Show(ee.Message);
return;
}
}
查找联系人是个存储过程 展开
private void button1_Click(object sender, EventArgs e)
{
if (txtName.Text.Trim() == "" && txtPhone.Text.Trim() == "")
{
MessageBox.Show("姓名和电话至少填写一项");
return;
}
try
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=LENOVO-THINK\\SQLEXPRESS;Initial Catalog=phonebook;Integrated Security=True";
SqlCommand cmd = new SqlCommand("查找联系人", conn);
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@name", SqlDbType.VarChar, 50);
cmd.Parameters.Add("@phone", SqlDbType.VarChar, 200);
cmd.Parameters.Add("@user", SqlDbType.VarChar, 50);
cmd.Parameters["@name"].Value = txtName.Text.Trim();
cmd.Parameters["@phone"].Value = txtPhone.Text.Trim();
cmd.Parameters["@user"].Value = strUserName;
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds);
dgvResult.DataSource = ds.Tables[0];
this.Height = 250;
}
catch (Exception ee)
{
MessageBox.Show(ee.Message);
return;
}
}
查找联系人是个存储过程 展开
展开全部
ds为空,先判断ds是否为空,不为空ds.Tables[0]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要先定义存储过程“查找联系人”,在数据库中定义
CREATE PROCEDURE 查找联系人(
。。。。。。。。。。。。。。。
)
GO
中间。。。。自个定义啊
CREATE PROCEDURE 查找联系人(
。。。。。。。。。。。。。。。
)
GO
中间。。。。自个定义啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先
SqlCommand cmd = new SqlCommand("查找联系人", conn);
cmd.Connection = conn;
这两句代码重复使cmd指定了conn两次,呵呵 看来你粗心啦
还有你说你是用储存过程,但是很明显你把执行参数化查询和调用储存过程搞错了!!
先看看你的代码:
SqlCommand cmd = new SqlCommand("查找联系人", conn);
如果你的代码中的确有“查找联系人”这个select语句的话,那么它必需包含有
@Name...等等的参数,而且这是一个参数化查询而不是储存过程
假如“查找联系人”语句是:select Sex,Age,Address from book where
Name=@name and Phone@phone and User=@user
一定不能设置 cmd.CommandType = CommandType.StoredProcedure;
因为这只是一个参数化查询!!
必须设成:cmd.CommandType=CommandType.Text或不设置保持默认
如果你确实要用储存过程的话 那么你储存过程必须在Sql Sever存在!也就是在
数据库里面!!
而且你的代码必须这样写:
把你的
SqlCommand cmd = new SqlCommand("查找联系人", conn);
cmd.Connection = conn;
这两句改成:
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
保留
cmd.CommandType = CommandType.StoredProcedure;不变,并且
加多一句:
cmd.CommandText="你的储存过程名字";
祝你成功!!呵呵~~
SqlCommand cmd = new SqlCommand("查找联系人", conn);
cmd.Connection = conn;
这两句代码重复使cmd指定了conn两次,呵呵 看来你粗心啦
还有你说你是用储存过程,但是很明显你把执行参数化查询和调用储存过程搞错了!!
先看看你的代码:
SqlCommand cmd = new SqlCommand("查找联系人", conn);
如果你的代码中的确有“查找联系人”这个select语句的话,那么它必需包含有
@Name...等等的参数,而且这是一个参数化查询而不是储存过程
假如“查找联系人”语句是:select Sex,Age,Address from book where
Name=@name and Phone@phone and User=@user
一定不能设置 cmd.CommandType = CommandType.StoredProcedure;
因为这只是一个参数化查询!!
必须设成:cmd.CommandType=CommandType.Text或不设置保持默认
如果你确实要用储存过程的话 那么你储存过程必须在Sql Sever存在!也就是在
数据库里面!!
而且你的代码必须这样写:
把你的
SqlCommand cmd = new SqlCommand("查找联系人", conn);
cmd.Connection = conn;
这两句改成:
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
保留
cmd.CommandType = CommandType.StoredProcedure;不变,并且
加多一句:
cmd.CommandText="你的储存过程名字";
祝你成功!!呵呵~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询