[急等解答!!]c#连接sql数据库后,执行完语句无法显示在datagridview里

lizhigang88 2009-01-29 09:12:48

各位前辈!!!我是一个c#新手,最近自学的过程中发现点问题
c#连接sql数据库后,执行完语句无法显示在datagridview里。。。。
我做的是一个仓库系统,界面载入以后有以下几个控件:
产品名称:combo_name下拉(已经绑定到产品信息表中了)
操作数量:textbox1可输入操作数量
出入库选择:combo_inout下拉(包含in 和 out 2个选项)
产品编号:textbox2只可显示combo_name下拉里产品在数据库里的编号(已经与库里产品信息表绑定,在combo_name改变时可以做到随之改变)
确定:bt1_Click


下面就是确定按钮的响应事件:

private void bt1_Click(object sender, EventArgs e)
{
string ioconnstring = "Data Source=091754E0397E44D;Initial Catalog=test1;Integrated Security=True";//定义ioconnstring为数据库连接字符串
string a1 = combo_name.Text, a2 = textBox1.Text, a3 = combo_inout.Text;
System.Data.SqlClient.SqlConnection app1conn=new System.Data.SqlClient.SqlConnection(ioconnstring);

if (a1==""||a2==""||a3=="")
{
MessageBox.Show("请输入正确的信息!谢谢!", "错误提示", MessageBoxButtons.OK,MessageBoxIcon.Error);
}

if (a3=="in")
{
////********************************定义数据库操作语句*************************/////
string app1sql = "insert into tb_product_inout(product_no,product_name,product_count,product_date,product_user) values("+textBox2.Text+","+"'"+a1+"'"+","+a2+","+"getdate()"+","+"'"+"admin"+"'"+")";
DataSet ds1= new DataSet();
System.Data.SqlClient.SqlDataAdapter app1adapter = new System.Data.SqlClient.SqlDataAdapter(app1sql,app1conn);
app1adapter.Fill(ds1);
this.dataGridView1.DataSource = ds1;
}



另外注意:我加入了一个datagridview控件用来显示数据库操作后的所有操作记录

数据库里存在2个表: 1.tb_product_inout 出入库操作记录表
字段:operate_code
product_no
product_name
product_kind
product_fact

2.tb_product_info 产品信息表
字段:inout_code
product_no
product_name
product_count
product_date

本意是窗体载入后datagridview里显示产品信息表。
点击“确定”运行insert语句后datagridview里显示出入库的所有操作记录
我像上面这样写以后,插入出入库记录是成功了,sql里也的确有了操作记录
但是实际上在我datagridview里却还是没有显示出来操作记录的内容,现在显示的是空

这个是为什么?

是否是我fill的不对?还是因为我没有指明dataset的table名????


希望前辈们给指点一下!!!小弟万分感谢!!!!


另外:我的QQ:55994171

希望多交几个编程高手做朋友,以后带带小弟!!!!谢谢!!!!
...全文
495 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizhigang88 2009-01-31
  • 打赏
  • 举报
回复
希望尽快有人帮助解决哦!!!

谢谢
lizhigang88 2009-01-30
  • 打赏
  • 举报
回复
还是没人回答哦

帮忙哦!!!
lizhigang88 2009-01-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 highfly2008 的回复:]
this.dataGridView1.DataSource = ds1.tables[0]
[/Quote]



未处理的“System.IndexOutOfRangeException”类型的异常出现在 System.Data.dll 中。

其他信息: 无法找到表 0。

索引错误?
highfly2008 2009-01-29
  • 打赏
  • 举报
回复
this.dataGridView1.DataSource = ds1.tables[0]
lizhigang88 2009-01-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 king19840811 的回复:]
app1adapter.Fill(ds1,"table1");
this.dataGridView1.DataSource = ds1.tables["table1"].DefaultView;
[/Quote]



我将"table1"替换为"tb_product_inout"(操作记录表)

调试运行后报错:未处理的“System.NullReferenceException”类型的异常出现在 app1.exe 中。

其他信息: 未将对象引用设置到对象的实例

帮看一下是怎么回事?

谢了
wuyq11 2009-01-29
  • 打赏
  • 举报
回复
先插入数据,再查询数据记录绑定到gridview.
hhxxcj 2009-01-29
  • 打赏
  • 举报
回复
this.dataGridView1.DataBind();
在后面加上这句
king19840811 2009-01-29
  • 打赏
  • 举报
回复
app1adapter.Fill(ds1,"table1");
this.dataGridView1.DataSource = ds1.tables["table1"].DefaultView;
king19840811 2009-01-29
  • 打赏
  • 举报
回复
app1adapter.Fill(ds1,"table1");
this.dataGridView1.DataSource = ds1.tables["table1"].DefaultView;

110,570

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧