c# : ExecuteReader: Connection 属性尚未初始化。

privatevoidbtnLook_Click(objectsender,EventArgse){SqlConnectioncon=newSqlConnection("... private void btnLook_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("server=X6X8-F0C27A6BAD\\SQLEXPRESS;Initial Catalog=kucun;Integrated Security=sspi");
con.Open();
try
{
if (textBox1.Text.Trim() == "")
{
this.FillGridView();

}
else
{
SqlCommand mycmd = new SqlCommand();
SqlDataReader sqlread;
sqlread = mycmd.ExecuteReader();
if (sqlread.Read())
{
if (comboBox1.Text.Trim() == "货物顶线存储")
{
SqlCommand cmd = new SqlCommand();
DataSet ds = new DataSet();
SqlDataAdapter mysda = new SqlDataAdapter("select * from GoodsInfo where 货物名称 like '%" + textBox1.Text.Trim() + "%' and 货物数量>=" + Convert.ToInt32(sqlread["货物顶线存储"].ToString().Trim()) + "", con);
mysda.Fill(ds, "GoodsInfo");
this.dataGridView1.DataSource = ds.Tables[0];
}
if (comboBox1.Text.Trim() == "货物低线存储")
{
SqlCommand cmd = new SqlCommand();
DataSet ds = new DataSet();
SqlDataAdapter mysda = new SqlDataAdapter("select * from GoodsInfo where 货物名称 like '%" + textBox1.Text.Trim() + "%' and 货物数量<=" + Convert.ToInt32(sqlread["货物低线存储"].ToString().Trim()) + "", con);
mysda.Fill(ds, "GoodsInfo");
this.dataGridView1.DataSource = ds.Tables[0];
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

}
执行上面的程序时,就是会出现ExecuteReader: Connection 属性尚未初始化,这怎么回事呢,该怎么解决?
展开
 我来答
日拱一卒行则将至
2010-05-21 · TA获得超过508个赞
知道小有建树答主
回答量:707
采纳率:0%
帮助的人:314万
展开全部
SqlCommand mycmd = new SqlCommand();

需要两个参数
一个是你的 连接串生成的 SqlConnection
另一个就是你的sql语句

SqlCommand mycmd = new SqlCommand(sql,conn);
odime
2010-05-21 · 超过60用户采纳过TA的回答
知道答主
回答量:150
采纳率:0%
帮助的人:202万
展开全部
mycmd.Connection =con;
在使用SqlCommand 时没有指定采用哪个Connection,因此在mycmd.ExecuteReader();
前要告诉Command使用哪个Connection(mycmd.Connection =con)

SqlCommand cmd = new SqlCommand(sqlstr, con); 这种方式在是在构造函数中对Connection赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西边门前吹雪
2010-05-21 · 超过19用户采纳过TA的回答
知道答主
回答量:71
采纳率:100%
帮助的人:38.6万
展开全部
SqlCommand mycmd = new SqlCommand();
SqlDataReader sqlread;
sqlread = mycmd.ExecuteReader();
应该是这里的问题,首先你声明一个SqlDataReader对象,给他复制空值:
SqlDataReader sqlread=null;
这样应该没有问题了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喻元恺Va
2010-05-21 · TA获得超过905个赞
知道小有建树答主
回答量:4465
采纳率:0%
帮助的人:1827万
展开全部
SqlCommand cmd = new SqlCommand(sqlstr, con);
SqlDataReader reader = cmd.ExecuteReader();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jp20100210
2010-05-21 · 超过12用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:0
展开全部
SqlDataReader sqlread = new SqlDataReader(); 这样试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式