求教:往数据库里添加数据的问题!!!!
往数据库里添加数据的问题!
我的代码如下:
SqlConnection thisConnection;
thisConnection = new SqlConnection( "DataSource=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\data\\student
_Data.MDF;Integrated Security=True;Connect Timeout=30;UserInstance=True ");
thisConnection.Open();
SqlCommand cmd = new SqlCommand( "select * from stu where SID= ' " + txtSId.Text.Trim() + " ' ", thisConnection);
if (cmd.ExecuteScalar() != null)
{
MessageBox.Show( "输入的学号有重复 ", "提示 ", 0,
MessageBoxIcon.Warning);
}
else
{
string strsql1 = "insert into stu(SId,Sname,identitynum,class,sex,birth,nation,politistate,foreigner,
recruit) values ( ' " + txtSId.Text.Trim() + " ', ' " + txtSname.Text.Trim() + " ', ' " + txtidentity.Text.Trim() + " ', ' " + txtclass.Text.Trim() + " ', ' " + txtsex.Text.Trim() + " ', ' " + txtbirth.Text.Trim() + " ', ' " + txtnation.Text.Trim() + " ', ' " + txtpolitics.Text.Trim() + " ', ' " + txtforeign.Text.Trim() + " ', ' " + txtrecruit.Text.Trim() + " '); ";
cmd.CommandText = strsql1;
cmd.ExecuteNonQuery();
MessageBox.Show( "专业信息添加成功 ", "提示 ",0,MessageBoxIcon.Information);
}
this.stuTableAdapter.Fill(this.student_DataDataSet.stu);
}
我往表里添加了数据,在datagridview中显示出了添加的数据,可是当我把应
用程序关了重新打开时发现数据库里的文件没有改变即上次的数据未添加成功
,我发现每次执行程序时好象都往bin文件夹里复制数据库文件,而我对数据
库的所有操作都是对复制过去的那个数据库文件进行操作的,所以导致了往数
据源添加数据时没有成功。而我打开obj里的exe文件时却发生
“....\Database.mdf 附加自动命名的数据库,但失败。已存在同名的数据库
,或指定的文件无法打开或位于 UNC 共享目录中。 ”的错误,而bin文件夹
里的exe文件却没问题。请问该怎么样才能往我要操作的那个数据源里添加数据啊??还有为什么obj文件夹里的exe文件会有问题,该怎么解决!!
不知道我说清楚了没?本人初学,望大家多多指点~~
[解决办法]
1.选择你项目里的 mdf 文件在属性里选择“复制到输出目录”项,然后选择不复制
--然后自己根据需要,自己 copy 到你 exe 文件所在目录下的
调试模式下 bin\deubg\Data 目录下即可
2.选择 “如果新就复制” 不过这个有时候也很讨厌
还有只由 SQLEXPRESS 版sql service 有附加mdf 文件的能力
其他版本,都会附加为一个真的数据库在服务端上。