我打开一个文件进行读操作,用的是FILESTREAM,存数据库的时候,连接字符串就变成了打开文件的路径了,怎么解决?
解决方案 »
- 如何判断网页下载完成
- 认为自己对C#语言了解的"高手"请进
- 急啊!关于 CrystalReport 打印树(treeView)数据的问题!!! 高手救救
- 本人初学c#,求关于类成员的解释
- 如何让Datagridview数据绑定后 的某一列值的字符以“*”号显示 ,如密码列显示为“******”
- 如何设置,可以使DateDTPicker的值为空。
- 如何得到执行一个Insert into命令后知道该记录在该表里的identity的自动索引的值?
- 找个成熟的美工兼职做个网站,有诚意的留下联系方式,谢谢
- 如何获取GridView中的Button控件
- 怎么样将一幅图像等分成四幅图像
- 如何访问Outlook的一个profile中的多个账户?
- DevExpress打印控件,用过的进来,快速结贴
public static string ConnDB = "Provider=Microsoft.Jet.OLEDB.4.0; Data source=..\\..\\data\\hfhw.mdb";
打开文件读的代码是这样的:
FileStream aFile = new FileStream(strFileName, FileMode.Open);
我打开文件后,读取文件中的数据,分析后,存入数据库的时候提示:"c:\xx\xx\data\hfhw.mdb"不是有效的路径,确定路径名称拼写是否正确,以及确定是否连接到文件存放的服务器。”
我发现,"c:\xx\xx\data\hfhw.mdb"是随着我要打开文件的路径的变化而变化,如果,我要读写的文件放在D盘,就变成“c:\xx\xx\data\hfhw.mdb”。我想不通,打开文件的路径和连接字符串有什么关系,请各位同仁,不吝赐教,谢谢。
!1
string strFileName = ""; byte[] byData = new byte[2000];
byte[] byParseData; GlobalVariant.arrKeyValue pp; clsPeiBianGeGong objPeiBianGeGong = new clsPeiBianGeGong(); OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = "导入手抄器数据"; dlg.Filter = "文本文件(*.txt)|*.txt"; dlg.ShowDialog(); //判断文件名是否为空,即是否按了“取消”按钮
if (dlg.FileName != "")
{
strFileName = dlg.FileName;
}
else
{
return;
} FileStream aFile = new FileStream(strFileName, FileMode.Open);
//读取文件数据中控制字符,表示数据类型
while (aFile.Read(byData, 0, 5) > 0)
{
switch (byData[4])
{
//实时数据
case 0x05:
aFile.Read(byData, 5, 174 - 5);
byParseData = new byte[174]; Array.Copy(byData, 0, byParseData, 0, 174); if (!objPeiBianGeGong.ParseRealTime(byParseData, out pp))
{
//MessageBox.Show("解析实时数据失败!", GlobalVariant.ProjectName, MessageBoxButtons.OK, MessageBoxIcon.Information); }
break; //整点数据
case 0x01:
aFile.Read(byData, 5, 997 - 5); byParseData = new byte[997]; Array.Copy(byData, 0, byParseData, 0, 997); if (!objPeiBianGeGong.ParseHour(byData, out pp))
{
//MessageBox.Show("解析整点数据失败!", GlobalVariant.ProjectName, MessageBoxButtons.OK, MessageBoxIcon.Information); }
break; } }
aFile.Close(); MessageBox.Show("数据分析完毕!", GlobalVariant.ProjectName, MessageBoxButtons.OK, MessageBoxIcon.Information);
是类中的一个方法,方法里有存入数据库的操作,要用到连接字符串。
或者自己写连接字符串,然后System.Windows.Forms.Application.StartupPath.ToString()在加上你的数据库的相对位置,这样的话,数据库应该在执行程序的目录中
//默认的directorypah
string dp=Directory.GetCurrentDirectory();打开文件后:
Directory.SetCurrentDirectory(dp);