SqlConnection conn;
private void FormDepartmentFilesFind_Load(object sender, EventArgs e)//窗体
{
conn = new SqlConnection("server=172.16.43.55;database=CateringDB;uid=sa;pwd=123456");//连接数据库
conn.Open();
}
private void button1_Click(object sender, EventArgs e)//“查找”按钮
{
if (Textname.Text == "")
{
MessageBox.Show("部门名称不能为空,请输入部门名称");
}
else
{
SqlCommand cmd = new SqlCommand("select * from tbl_Department_Info where deptName="+ Textname.Text.Trim(), conn);
SqlDataReader reder = cmd.ExecuteReader();
while (reder.Read())
{
listView1.Items.Add(reder["deptId"].ToString());
}
conn.Close();
}
}
该如何写?求指点!
每次输入一个部门名称,然后点击查找按钮,窗口直接就关闭了。
哪错了?SqlCommand cmd = new SqlCommand("",conn);语法不是这样吗?
追答查询语句,查询语句里的参数需要使用单引号
select * from table where something='something'
恩。这样啊。谢谢!
追答1数据库连接是否正确
2数据库是否查询到数据
3数据显示过程是否出错
上面的内容出现问题的排错顺序
恩。解决了。谢谢!
追答不客气
先改这句再说调试结果
"select * from tbl_Department_Info where deptName='"+ Textname.Text.Trim() + "'";追问有什么区别吗?
调试的结果还是一样,没有显示任何内容,窗口直接自动关闭。
listView1.Items.Add(reder["deptId"].ToString());前面加
if(reder["deptId"]!=null)结果还是一样
追答每个语句都加上断点,运行看到哪里退出的。
追问成功了,这回显示了deptId这个数据,但我想让这一行数据都显示出来,不只是这一列,怎么做?
追答怎么成功的?问题在哪?
本回答被提问者采纳其他的都还只搭了个框架,这个功能点是第一个做的,结果就碰到了问题。
弄了半天也不能从数据库中打印数据到listView中。
我建议你把listView控件换成datagridview控件,那样吧查询出来结果集直接赋给datagridview就行了,用listView显示不太好!datagridview是专门用来显示格式化数据的,比如数据库的表
追问哦,我试试。