黑马程序员技术交流社区

标题: 关于ADO.NET的问题 [打印本页]

作者: 李晶晶    时间: 2013-8-15 10:57
标题: 关于ADO.NET的问题
本帖最后由 李晶晶 于 2013-8-15 20:05 编辑
  1. string dataDir = AppDomain.CurrentDomain.BaseDirectory;
  2.             if (dataDir.EndsWith(@"\bin\debug\") || dataDir.EndsWith(@"\bin\release\"))
  3.             {
  4.                 dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
  5.                 AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
  6.             }

  7.             using (SqlConnection conn = new SqlConnection(@"Data Source = .\SQLEXPRESS;AttachDbFilename = |DataDirectory|\Database1.mdf;Integrated Security = True;User Instance = True"))
  8.             {
  9.                 conn.Open();
  10.                 using (SqlCommand comm = conn.CreateCommand())
  11.                 {
  12.                     comm.CommandText = "Insert into MyTable1 (Name) values ('bc')";
  13.                     comm.ExecuteNonQuery();

  14.                     Console.WriteLine("插入成功");
  15.                 }
  16.             }

  17.             Console.WriteLine("连接成功");

  18.             Console.ReadKey();
复制代码
上面是代码,运行的话,屏幕会显示“插入成功”“连接成功”,可是右键单击执行的时候,MyTabel1并没有显示我插入的这条数据,怎么回事啊?????

作者: gb2312_8    时间: 2013-8-15 11:05
本帖最后由 gb2312_8 于 2013-8-15 11:17 编辑

ExecuteNonQuery();这个方法返回值是一个int类型,表示操作影响的行数,你应该判断一下这个返回值,然后在输出插入成功,代码没问题,你再好好看看
作者: 李晶晶    时间: 2013-8-15 11:50
gb2312_8 发表于 2013-8-15 11:05
ExecuteNonQuery();这个方法返回值是一个int类型,表示操作影响的行数,你应该判断一下这个返回值,然后在 ...

影响行数是1,可是表里还是没插入新数据!~~~~怎么回事?

作者: 于驭龙    时间: 2013-8-15 11:54
少用using来注销    cmd可能没传进SQL就被销销了..而你下面并没有用executeNoquey 得到int>0来输出判断..这样不管什么情况都会输出插入成功!
作者: gb2312_8    时间: 2013-8-15 13:42
李晶晶 发表于 2013-8-15 11:50
影响行数是1,可是表里还是没插入新数据!~~~~怎么回事?

你确定打开的数据库是你执行的数据库,要是返回值是1,说明插入成功了,你代码我测试了,没问题

作者: 李晶晶    时间: 2013-8-15 20:03
gb2312_8 发表于 2013-8-15 13:42
你确定打开的数据库是你执行的数据库,要是返回值是1,说明插入成功了,你代码我测试了,没问题
...

返回值是1,插入成功了!~~~是路径问题!~~

作者: 李晶晶    时间: 2013-8-15 20:04
于驭龙 发表于 2013-8-15 11:54
少用using来注销    cmd可能没传进SQL就被销销了..而你下面并没有用executeNoquey 得到int>0来输出判断..这 ...

恩,是路径问题!~~~





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2