1。你可以单独写个附加数据库的模块,文件路径指定为本地路径同一文件下的数据文件,但复制文件时连同他和数据库文件一同复制,当安装完成时调用一下它即可。
2。我是自己写的安装程序,复制文件时,我知道文件的目的路径,所以我执行完安装后,就把数据库附加了。
3,我还写了一个连同msde一块安装的程序,只不过是把附加模块程序的路径写到注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce下,这样当机器下一次启动(因为安装了msde后要重启)时就把数据库附加了。再就是我觉得SqlConnection和数据库路经没什么关系吧,//得到当前路径
string path=Application.ExecutablePath;
string pathdb=path.Replace("sqltool.exe","sinofin_data.mdf");
string pathlog=path.Replace("sqltool.exe","sinofin_log.ldf");
SqlConnection connect = new SqlConnection(constr);connect.Open();
SqlCommand dbCommand = new SqlCommand();
dbCommand.Connection=connect;
dbCommand.CommandText="exec sp_attach_db @dbname = N'sinofin', @filename1 = N'"+pathdb+"', @filename2 = N'"+pathlog+"'";dbCommand.ExecuteNonQuery();
2。我是自己写的安装程序,复制文件时,我知道文件的目的路径,所以我执行完安装后,就把数据库附加了。
3,我还写了一个连同msde一块安装的程序,只不过是把附加模块程序的路径写到注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce下,这样当机器下一次启动(因为安装了msde后要重启)时就把数据库附加了。再就是我觉得SqlConnection和数据库路经没什么关系吧,//得到当前路径
string path=Application.ExecutablePath;
string pathdb=path.Replace("sqltool.exe","sinofin_data.mdf");
string pathlog=path.Replace("sqltool.exe","sinofin_log.ldf");
SqlConnection connect = new SqlConnection(constr);connect.Open();
SqlCommand dbCommand = new SqlCommand();
dbCommand.Connection=connect;
dbCommand.CommandText="exec sp_attach_db @dbname = N'sinofin', @filename1 = N'"+pathdb+"', @filename2 = N'"+pathlog+"'";dbCommand.ExecuteNonQuery();
解决方案 »
- arcgiserver的rest服务身份验证
- C#读取EXCEL的问题。。。
- C#的缩进问题让我头痛
- 中间语言和托管代码
- winform 中如何使用类似于webform中的freetextbox/cuteeditor……之类的编辑器?
- 在treeview中实现查找的功能,如果查找到匹配项后,下次查找从上次匹配的位置开始.不知道哪位大哥有这方面的经验.
- 请教大家一个panel的滚动条问题。谢谢!!
- 怎样判断Tcp连接是否已经断开?(急!!!高分求助)
- 为什么数据更新不能执行? 答对给分
- 我在c#调用matlab,然后将matlab生成的figure图像嵌入panel中,在单步调试的情况可以正常显示,但是启动就不行
- 求c# + oracle 图书和文档
- 怎么才能使datagrid处于编辑状态下宽度保持不变~~~~~~~~~~~~~~~~~~~~~~~
你的SqlConnection connect = new SqlConnection(constr);中的constr怎么写?假设
constr = "localhost = local ; user = sa ; pwd = ; database = ***" , 但我无法确定database啊?