我写了一个小程序,部分代码如下所示: //选择文件上传
FileDialog upfile = new OpenFileDialog();
upfile.ShowDialog();
string filename = upfile.FileName;
string a = Application.StartupPath; string uriString = a + "\\uploadfiles\\";
string uriString2 = a.Substring(0, a.LastIndexOf("\\")) + "\\Release\\uploadfiles\\";
//string newName = UpLoadFile(filename, uriString, true); //向deburg中添加
string newName = UpLoadFile(filename, uriString2, true); //向Rlease中添加
//向数据库中插入一条记录
custDoc.TextTitle = filename.Substring(filename.LastIndexOf("\\")+1);
custDoc.TextContent = newName;
int result = CustDocManager.Add(custDoc); //执行到这里出错了 我选择了“D:\My Documents\QQ Files\Misc\”目录下的一个记事本文件 当执行添加的时候,在数据库连接那里出了一个这样的错:
找不到文件 'D:\My Documents\QQ Files\Misc\KingCRM.mdb'。 请问哪位能给我个思路,谢谢了!
FileDialog upfile = new OpenFileDialog();
upfile.ShowDialog();
string filename = upfile.FileName;
string a = Application.StartupPath; string uriString = a + "\\uploadfiles\\";
string uriString2 = a.Substring(0, a.LastIndexOf("\\")) + "\\Release\\uploadfiles\\";
//string newName = UpLoadFile(filename, uriString, true); //向deburg中添加
string newName = UpLoadFile(filename, uriString2, true); //向Rlease中添加
//向数据库中插入一条记录
custDoc.TextTitle = filename.Substring(filename.LastIndexOf("\\")+1);
custDoc.TextContent = newName;
int result = CustDocManager.Add(custDoc); //执行到这里出错了 我选择了“D:\My Documents\QQ Files\Misc\”目录下的一个记事本文件 当执行添加的时候,在数据库连接那里出了一个这样的错:
找不到文件 'D:\My Documents\QQ Files\Misc\KingCRM.mdb'。 请问哪位能给我个思路,谢谢了!
谢谢两位!
我也是这么想的,可是现在的问题是:CustDocManager中没有用“'D:\My Documents\QQ Files\Misc\KingCRM.mdb”。而且这个路径下根本就不存在这个数据库,这个路径只是我选的要上传的文件的路径。整个应用程序都没错,就是上传文件之后,向数据库中添加记录的时候有错,其它使用数据库的地方都没出错。
也许跟这个有关系
/// 增加一条数据
/// </summary>
public static int Add(CustDoc model)
{
int result = -1;
StringBuilder strSql = new StringBuilder();
try
{
strSql.Append("insert into dt_Doc(");
strSql.Append("TextTitle,TextContent,custID)");
strSql.Append(" values (");
strSql.Append("@TextTitle,@TextContent,@custID)");
OleDbParameter[] parameters = {
new OleDbParameter("@TextTitle", OleDbType.VarChar,255),
new OleDbParameter("@TextContent", OleDbType.VarChar,500),
new OleDbParameter("@custID", OleDbType.Integer,4)}; parameters[0].Value = model.TextTitle;
parameters[1].Value = model.TextContent;
parameters[2].Value = model.CustID.custID; result = AccessHelper.ExecuteCommand(strSql.ToString(), parameters);
}
catch (Exception e)
{
Console.WriteLine(e.Message); }
finally
{
AccessHelper.Connection.Close();
}
return result;
}
//数据库链接
//数据库连接对象
private static OleDbConnection connection; public static OleDbConnection Connection
{
get
{
string conString = ConfigurationManager.ConnectionStrings["connString"].ConnectionString;
if (connection == null)
{
connection = new OleDbConnection(conString);
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
}
把Data Source=ab.mdb;改成Data Source=|DataDirectory|ab.mdb;就可以了