c#未将对象引用设置到对象的实例,求解答……
答案:4 悬赏:0 手机版
解决时间 2021-04-06 23:46
- 提问者网友:最美的风景
- 2021-04-06 14:56
c#未将对象引用设置到对象的实例,求解答……
最佳答案
- 五星知识达人网友:过活
- 2021-04-06 15:32
楼主你好:
我仔细分析了你的代码,你最大的错误应该是你的粗心,因为你的数据库链接应该没有打开,
呵呵,请试着在下面这个代码下面添加:co.Open();
SqlConnection co = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\用户信息1.mdf;Integrated Security=True;User Instance=True");
希望对你有帮主,望采纳,谢谢。追问你好!
确实没有打开,但是改了后还是一样的问题,不能正常运行。。。
SqlConnection co = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\用户信息1.mdf;Integrated Security=True;User Instance=True");
co.Open();追答你好:
如果你添加了co.open()也出错的话,还有一个出错的地方可能是这句: DataRow dr = dt.Rows.Find(textBox1 .Text );
DataRow的Find方法楼主要明白,里面的参数必须是DataTable中的primaryKey,必须唯一,
而你代码中并没有看到你给你 DataTable dt=ds.Tables ["Train1"]这个DataTable设置primaryKey的地方,
当你运行到 DataRow dr = dt.Rows.Find(textBox1 .Text );这句话时,你获取到的dr肯定是null,这就直接导致了你的错误;
你可以在 DataTable dt=ds.Tables ["Train1"]这句代码下面加上:
dt.PrimaryKey = new DataColumn[] { dt.Columns["ID};//这里的ID必须是你Train1表中的唯一键,
这样再执行下面的方法就不会错了
希望对你有帮主,谢谢
我仔细分析了你的代码,你最大的错误应该是你的粗心,因为你的数据库链接应该没有打开,
呵呵,请试着在下面这个代码下面添加:co.Open();
SqlConnection co = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\用户信息1.mdf;Integrated Security=True;User Instance=True");
希望对你有帮主,望采纳,谢谢。追问你好!
确实没有打开,但是改了后还是一样的问题,不能正常运行。。。
SqlConnection co = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\用户信息1.mdf;Integrated Security=True;User Instance=True");
co.Open();追答你好:
如果你添加了co.open()也出错的话,还有一个出错的地方可能是这句: DataRow dr = dt.Rows.Find(textBox1 .Text );
DataRow的Find方法楼主要明白,里面的参数必须是DataTable中的primaryKey,必须唯一,
而你代码中并没有看到你给你 DataTable dt=ds.Tables ["Train1"]这个DataTable设置primaryKey的地方,
当你运行到 DataRow dr = dt.Rows.Find(textBox1 .Text );这句话时,你获取到的dr肯定是null,这就直接导致了你的错误;
你可以在 DataTable dt=ds.Tables ["Train1"]这句代码下面加上:
dt.PrimaryKey = new DataColumn[] { dt.Columns["ID};//这里的ID必须是你Train1表中的唯一键,
这样再执行下面的方法就不会错了
希望对你有帮主,谢谢
全部回答
- 1楼网友:三千妖杀
- 2021-04-06 18:21
打断点测试,QQ:33705910
- 2楼网友:纵马山川剑自提
- 2021-04-06 18:13
SqlConnection co = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\用户信息1.mdf;Integrated Security=True;User Instance=True");这里写错啦,这是access数据库的写法,而.mdf是sqlserver的数据库,必须要安装mssqlserver,然后把你的.mdf文件附加到数据库中,然后SqlConnection co = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\用户信息1.mdf;Integrated Security=True;User Instance=True");改成
SqlConnection co = new SqlConnection(@"Data Source=.\SQLEXPRESS;Integrated Security=True;database=用户信息1;");或者
SqlConnection co = new SqlConnection(@"Data Source=.\SQLEXPRESS;Integrated Security=True;database=用户信息1;uid=sa;pwd=***");其中****是你数据库的密码追问你好,我添加的是基于服务的数据库,其他的这样就可以连接数据库。另外我按着你说的改了还是不行……
SqlConnection co = new SqlConnection(@"Data Source=.\SQLEXPRESS;Integrated Security=True;database=用户信息1;");或者
SqlConnection co = new SqlConnection(@"Data Source=.\SQLEXPRESS;Integrated Security=True;database=用户信息1;uid=sa;pwd=***");其中****是你数据库的密码追问你好,我添加的是基于服务的数据库,其他的这样就可以连接数据库。另外我按着你说的改了还是不行……
- 3楼网友:蕴藏春秋
- 2021-04-06 17:11
这个应该是你数据库连接字符串的问题吧,连接不到需要的数据库,无法获取DataTable吧追问你好,没有错吧,上面我也这样写了,但是可以连接到数据库……
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯