用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 无法对 那个表格进行修改,也执行了。
我是入门级别的啊
展开
 我来答
正怒月神
2012-09-10 · TA获得超过1157个赞
知道小有建树答主
回答量:710
采纳率:100%
帮助的人:500万
展开全部
首先。你这个sql是 新增操作啊。。。并不是修改操作
其次,建议你
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语句
百度网友a582b5c3c
2012-09-10 · 超过35用户采纳过TA的回答
知道答主
回答量:161
采纳率:0%
帮助的人:78.5万
展开全部
既然是入门级别的就不要写这么简单,using是好用,但是错误很难定位,因为出了using的话,里面的对象就释放了,很难保证你这个语句执行成功没有。

PS:你说的数据库没有改变的意思是,数据没有新增还是你原来的数据没变,我肯定你说的不是前者,因为count=1,如果是后者,那你应该写Update语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式