using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;namespace 第2个mdf
{
class Program
{
static void Main(string[] args)
{
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("DateDirectory",dataDir);
}
using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;
AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"))
{
conn.Open();
using (SqlCommand cmd=conn.CreateCommand())
{
cmd.CommandText = "Insert into Table1(Name) values('abc')";
cmd.ExecuteNonQuery();
Console.WriteLine("插入数据成功");
}
}
Console.WriteLine("打开数据库成功");
Console.ReadKey();
}
}
}
=======================我是分割线==============================
以上是全部代码,控制台打印屏幕也都显示成功 然后进入vs2010里左边打开table1,右键执行sql 不能显示插入的数据。
高手解
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;namespace 第2个mdf
{
class Program
{
static void Main(string[] args)
{
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("DateDirectory",dataDir);
}
using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;
AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"))
{
conn.Open();
using (SqlCommand cmd=conn.CreateCommand())
{
cmd.CommandText = "Insert into Table1(Name) values('abc')";
cmd.ExecuteNonQuery();
Console.WriteLine("插入数据成功");
}
}
Console.WriteLine("打开数据库成功");
Console.ReadKey();
}
}
}
=======================我是分割线==============================
以上是全部代码,控制台打印屏幕也都显示成功 然后进入vs2010里左边打开table1,右键执行sql 不能显示插入的数据。
高手解
单步是否执行
附加数据库
同样求解答,我也是。visual 2008,sql 2005
reader.Read();
我也是一样有数据可reader.Read()的反回值是false
加入
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("DataDirectory", dataDir);
}是很好的解决方案
学习过程中发现目录过长的时候,上面加入的代码失效了.折腾一下午才弄好;发出来给大家,避免出现同样的情况
当时设定的目录是"G:\2012重要软件\学习编程中自己写的实例\visual studio 2010\projects\第一个mdf\第二个mdf\bin\debug"
然后运行上面的代码,无论如何设置,dataDir都是等于上面的目录.无法去掉最后的\bin\debug
后来在g盘根目录建立个projects文件夹,在里面写项目.上面代码就生效了.我用的是vs2010