VS2005 C# 连接字符串出错,我的数据源是EXCEL,文件名需要字符串赋值,但出现异常

异常为:Format of the initialization string does not conform to specification starting at index 33.

代码如下:

public class DBPFOperator
{
public static string m = getmonth();
public static string n = "MANUFACTURING LIST-PF-'" + m + DateTime.Now.Year.ToString() + "'.xls";
public static string CONN_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\\\shhs0500\\C$\\Data\\'" + n + "';Extended Properties=Excel 8.0;";
//public static string CONN_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\\\shhs0500\\C$\\Data\\MANUFACTURING LIST-PF-April2010.xls;Extended Properties=Excel 8.0;";
// SqlConnection conn = new SqlConnection(CONN_STRING);
/**
* 根据sql得到DataSet
*/
public DBPFOperator()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

public static string getmonth()
{
string n1 = "";
switch (DateTime.Now.Month)
{
case 1: n1 = "January"; break;
case 2: n1 = "February"; break;
case 3: n1 = "March"; break;
case 4: n1 = "April"; break;
case 5: n1 = "May"; break;
case 6: n1 = "June"; break;
case 7: n1 = "July"; break;
case 8: n1 = "August"; break;
case 9: n1 = "September"; break;
case 10: n1 = "October"; break;
case 11: n1 = "November"; break;
case 12: n1 = "December"; break;
}
return n1;
}

public static DataSet GetDataSet(string sql, string tableName)
{
DataSet ds = new DataSet();
OleDbConnection sqlConn = null;
try
{
sqlConn = new OleDbConnection(CONN_STRING);
OleDbDataAdapter sqlApt = new OleDbDataAdapter(sql, sqlConn);
sqlApt.Fill(ds, tableName);
return ds;
}
catch (Exception ex)
{
throw ex;
}
finally
{
sqlConn.Close();
}
}

/**
* 执行SQL语句
* sql
*/

public static int ExecuteSQL(string sql)
{
OleDbConnection sqlConn = null;
try
{
sqlConn = new OleDbConnection(CONN_STRING);
OleDbCommand sqlCmd = new OleDbCommand(sql, sqlConn);
sqlConn.Open();
return sqlCmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
sqlConn.Close();
}
}
}

连接字符串的问题
你仔细检查下看看有没有写错
还有 有的引号并不一定都是双引号
我只看了下你的报错信息
如果感觉连接字符串写的没问题
那可能就出在了引号方面
Access比较注重单引号(‘)
所有字段名 都要用单引号(’)
希望能帮到你
仔细检查下
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-17
我的连接字符串是这样写的;你参考下:
string OleConnStr = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=|DataDirectory|aa.mdb";

VS2005 C# 连接字符串出错,我的数据源是EXCEL,文件名需要字符串赋值,但...
如果感觉连接字符串写的没问题 那可能就出在了引号方面 Access比较注重单引号(‘)所有字段名 都要用单引号(’)希望能帮到你 仔细检查下

C#与SQL2005如何连接?
AttachDBFilename或者extended properties或者Initial File Name 主要文件的名字,包括相关联数据库的全路径。数据库名字必须通过关键字'database'来指定。 Connect Timeout或者Connection Timeout 15 在中止连接请求,产生错误之前等待服务器连接的时间(以秒为单位) Connection Lifetime 0 当一个连接返回到连接池,当前时间...

相似回答