dataset.tables操作提示:未将对象应用设置到对象实例

erpangchouchou 2016-01-15 11:21:37
DataSet ds=new DataSet();
ds.Tables.Add("连接器");
ds.Tables["连接器"].Columns[0].ColumnName = "名称";//表有两列
ds.Tables["连接器"].Columns[1].ColumnName = "编号";
string nameConnector = "ABC";//获取始端名称
string str = "名称='" + nameConnector + "'";//查询条件
if (ds.Tables["连接器"]!=null)
{
DataRow[] dr = ds.Tables["连接器"].Select(str);
if (dr.Length == 0)
{
DataRow dr1 = ds.Tables["连接器"].NewRow();
dr1[0] = nameConnector;
dr1[1] = ds.Tables["连接器"].Rows.Count + 1;
ds.Tables["连接器"].Rows.Add(dr1);
}
}
else
{
DataRow dr1 = ds.Tables["连接器"].NewRow();
dr1[0] = nameConnector;
dr1[1] = 1;
ds.Tables["连接器"].Rows.Add(dr1);
}
在 DataRow dr1 = ds.Tables["连接器"].NewRow();处出现“未将对象应用设置到对象实例”错误提示
...全文
197 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
erpangchouchou 2016-01-15
  • 打赏
  • 举报
回复
引用 2 楼 u011266608 的回复:
Tables.add了,"连接器"这个表肯定是有的了,但是里面又没有数据,然后你又去执行查询,加了这么多没用的判断有鸟用啊
回复:新建的表是没有数据,我这不是想往表里添加数据啊?新建一个表之后总要往里添加数据啊?那怎么添加?
楚狂歌 2016-01-15
  • 打赏
  • 举报
回复
Tables.add了,"连接器"这个表肯定是有的了,但是里面又没有数据,然后你又去执行查询,加了这么多没用的判断有鸟用啊
xdashewan 2016-01-15
  • 打赏
  • 举报
回复
你下面那个else条件是 ds.Tables["连接器"]为null,为null了你还DataRow dr1 = ds.Tables["连接器"].NewRow();当然报错。你这代码怎么看都走不到下面,你确定这是出错代码?
erpangchouchou 2016-01-15
  • 打赏
  • 举报
回复
引用 6 楼 sp1234 的回复:
[quote=引用 2 楼 u011266608 的回复:] Tables.add了,"连接器"这个表肯定是有的了,但是里面又没有数据,然后你又去执行查询,加了这么多没用的判断有鸟用啊
不是“又去执行查询”,这个代码一看就知道,lz是盲目 copy 前面几行代码。不知道前边几行代码是谁写出来的。[/quote] 回复:全是我自己写的啊,现在问题已经解决了!表添加列方法错误啦!
  • 打赏
  • 举报
回复
引用 2 楼 u011266608 的回复:
Tables.add了,"连接器"这个表肯定是有的了,但是里面又没有数据,然后你又去执行查询,加了这么多没用的判断有鸟用啊
不是“又去执行查询”,这个代码一看就知道,lz是盲目 copy 前面几行代码。不知道前边几行代码是谁写出来的。
  • 打赏
  • 举报
回复
理解 #1楼 #2 楼的话,你就要用纸和笔画流程图,先设计一个“单线条、随手画”的流程,而先不去看具体代码。
  • 打赏
  • 举报
回复
你要考虑的的逻辑,不是给表里添加数据,而是根本就不存在你所谓的表。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace 图书管理系统 { public partial class 登录窗口 : Form { //public static string ConnectionString = "Server=(local);database=图书管理库;uid=sa;pwd=1234"; //sql server 混合模式 // public static string ConnectionString = "Server=(local);Integrated Security=SSPI;database=图书管理库"; //windows模式 public string strSQL; public SqlConnection myConnection; public SqlCommandBuilder sqlCmdBld; public DataSet ds = new DataSet(); public SqlDataAdapter da; public int num=0; private DataTable myTable; private DataRow myRow; public static string strUser; public static string strPassword; // public static string strDepartment; public static bool login_flag = false; public 登录窗口() { InitializeComponent(); } private void button2_Click(object sender, EventArgs e) { Close(); } private void 登录窗口_Load(object sender, EventArgs e) { linkdatabase link = new linkdatabase(); //实例化 myConnection = new SqlConnection(link.connectionstring()); //实例化连接 strSQL = "select * from 用户表 "; da = new SqlDataAdapter(strSQL, myConnection); ds.Clear(); da.Fill(ds, "用户表"); //////动作 myTable = ds.Tables["用户表"]; for (int i = 0; i < myTable.Rows.Count; i++) { comboBox1.Items.Add(myTable.Rows[i]["用户名"].ToString().Trim()); } } private void button1_Click(object sender, EventArgs e) { linkdatabase link = new linkdatabase(); //实例化 myConnection = new SqlConnection(link.connectionstring()); //实例化连接 strSQL = "sele

110,534

社区成员

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

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

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