青芜lulu
2017-12-20 16:50
采纳率: 100%
浏览 1.7k

C#链接SQL调用DataBindings.Add提示无法创建字段的子列表

代码如下
string s_ID;
s_ID = Fxuejilogin.name1;
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=localhost;Initial Catalog=student;Integrated Security=SSPI;";
con.Open();
string sqlstring = "select * from courseinfo ";
SqlCommand command = new SqlCommand(sqlstring, con);
da = new SqlDataAdapter(command);
SqlCommandBuilder sb = new SqlCommandBuilder(da);
da.DeleteCommand = sb.GetDeleteCommand();
da.InsertCommand = sb.GetInsertCommand();
da.UpdateCommand = sb.GetUpdateCommand();
ds = new DataSet();
da.Fill(ds,"courseinfo");
this.textBox1.DataBindings.Add("text", da, "classinfo.course_ID");
this.textBox2.DataBindings.Add("text", da, "classinfo.course_Name");
this.textBox3.DataBindings.Add("text", da, "classinfo.course_Type");
this.textBox4.DataBindings.Add("text", da, "classinfo.major", true);
this.textBox5.DataBindings.Add("text", da, "classinfo.course_Des", true);

执行到DataBindings.Add提示
“System.ArgumentException”类型的未经处理的异常在 System.Windows.Forms.dll 中发生

其他信息: 无法创建字段 classinfo 的子列表。

尝试将Add*()中的da改为ds问题一样。
想实现的是textbox与数据库之间的传输工作,不是很理解DataBindings的作用。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 青芜lulu 2017-12-21 01:41
    已采纳

    我改了一下
    具体问题在于da.Fill(ds);改成da.Fill(ds,"courseinfo");
    期中应该添加表名,这样就可以连接了

    点赞 评论
  • blownewbee 2017-12-20 16:53

    string sqlstring = "select * from courseinfo ";
    你查询的是课程信息表courseinfo
    this.textBox1.DataBindings.Add("text", da, "classinfo.course_ID");
    你绑定的却是班级信息表classinfo

    点赞 评论

相关推荐 更多相似问题