我有以下代码
mycon=new SqlConnection();
mycon.ConnectionString="'Provider =Microsoft.ACE.OLEDB.12.0';Data Source='G:\\Abbriviations\\Abbriviations\\App_Data\\abbreviations.accdb'";
myds=new DataSet();
mytable = new DataTable("Abbriviations");
myds.Tables.Add(mytable);
myadap=new SqlDataAdapter();
我收到以下错误。
初始化字符串的格式不符合从索引0开始的规范。
请您指导正确的连接字符串。
由于 修改
public class dataManipulationClass
{
public OleDbConnection mycon;
public DataSet myds;
public DataTable mytable;
public SqlDataAdapter myadap;
public OleDbCommand mycomm;
public bool ManupulateData()
{
mycon = new OleDbConnection();
mycon.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=G:\\Abbriviations\\Abbriviations\\App_Data\\abbreviations.accdb";
myds=new DataSet();
mytable = new DataTable("Abbriviations");
myds.Tables.Add(mytable);
myadap=new SqlDataAdapter();
mycomm=new OleDbCommand();
mycomm.CommandType=CommandType.Text;
mycomm.CommandText = "SELECT * FROM Abbriviations";
mycomm.Connection=mycon;
myadap.SelectCommand=mycomm;
return true;
}
}
现在我在mycommm上收到以下错误。
Cannot implicitly convert type 'System.Data.OleDb.OleDbCommand' to 'System.Data.SqlClient.SqlCommand'
由于
答案 0 :(得分:2)
两件事:
SqlConnection
用于与SQL Server数据库通信。请尝试使用OleDbConnection
。这也意味着您应该使用OleDbDataAdapter
而不是SqlDataAdapter
。请改为尝试:
mycon=new OleDbConnection();
mycon.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=G:\\Abbriviations\\Abbriviations\\App_Data\\abbreviations.accdb";
// and then the rest of your code
作为旁注,connectionstrings.com是此类信息的绝佳资源(Access connectionstrings有一页)。