用c#在visual studio里做winform,新建mdf文件怎么无法对数据库修改
mdf文件是在解决方案里新建的,代码如下staticvoidMain(string[]args){stringdataDir=AppDomain.CurrentDomai...
mdf文件是在解决方案里新建的,代码如下
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("DataDirectory",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 Login(UserName) values('12')";
cmd.ExecuteNonQuery();
Console.Write("插入成功");
}
} //这样connection的使用范围只在这个大括号里面,出了大括号资源就被释放,用try,catch也可,using简单
Console.WriteLine("succeed!");
Console.ReadKey();
}
在commandtext里写sql 无法对 那个表格进行修改,也执行了。
我是入门级别的啊 展开
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("DataDirectory",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 Login(UserName) values('12')";
cmd.ExecuteNonQuery();
Console.Write("插入成功");
}
} //这样connection的使用范围只在这个大括号里面,出了大括号资源就被释放,用try,catch也可,using简单
Console.WriteLine("succeed!");
Console.ReadKey();
}
在commandtext里写sql 无法对 那个表格进行修改,也执行了。
我是入门级别的啊 展开
2个回答
展开全部
首先。你这个sql是 新增操作啊。。。并不是修改操作
其次,建议你
int count=cmd.ExecuteNonQuery();
在这里加断点,看一下count是不是>0,
cmd.ExecuteNonQuery();执行成功后,会返回受影响的行数
其次,建议你
int count=cmd.ExecuteNonQuery();
在这里加断点,看一下count是不是>0,
cmd.ExecuteNonQuery();执行成功后,会返回受影响的行数
追问
那个新增操作和修改操作道理一样,加了count,值是1,可是对于那个表,数据还是没有改变,求帮助
追答
count=1的话,说明新增成功了
你到底是要新增还是修改
如果sql=“Insert into Login(UserName) values('12')”
那么这个是新增,所以你需要的数据改变时不可能的,他只会在数据库里新增一条数据罢了
你先在数据库运行一下 select count(1) from Login看一下条数
然后等你运行完程序在select count(1) from Login看一下条数,核对一下数据库的条数是否增加了
如果增加了,那么就说明你程序没有问题
如果你是要修改数据,那么请改成update语句
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询