日期:2014-5-20 浏览次数:21376次

.Net程序中操作数据库不起作用了
建立的C#Windows窗体应用程序,为一个按键响应消息写入如下代码:
  //打开数据库,并清除指定表中数据
  String connStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;

  using (SqlConnection conn = new SqlConnection(connStr))
  {
  conn.Open();//打开数据库

  using (SqlCommand cmd = conn.CreateCommand())
  {
  cmd.CommandText = "delete from Numbers";//清除表中的信息

  cmd.ExecuteNonQuery();
  }
  }
其中的“ConnStr”来自配置文件:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
  </configSections>
  <connectionStrings>
  <add name="ConnStr"
  connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Phone2.mdf;
  Integrated Security=True;User Instance=True"/>
  </connectionStrings>
</configuration>

在程序主函数内添加:
[color=#FF0000][/color]
//查找数据库地址
  string dataDir = AppDomain.CurrentDomain.BaseDirectory;
  if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))
  {
  dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;

  AppDomain.CurrentDomain.SetData("DataDirecrory", dataDir);
  }

运行无错误,可是运行结束之后数据库中的值仍然存在,(即执行的删除表中的数据没有起作用)

------解决方案--------------------
是不是把其它数据库的内容删掉了。bin\debug或者bin\release下的和项目跟目录下的数据库都看看。
------解决方案--------------------
是不是你每次编译覆盖了数据库文件。
------解决方案--------------------
设断点啊,总体上调试一下