2011-01-03 8 views
0

私は、次のエラーを取得しています次のコードMSアクセスのConnectionString問題C#の

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(); 

を持っています。初期化文字列の

フォーマットは、あなたがこのために私に正しいれたconnectionStringを案内してくださいすることができ、インデックス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' 

おかげ

答えて

2

2つのこと:あなたが間違った接続オブジェクトを使用している

  1. SqlConnectionは、MS Accessデータベースと通信しようとしているときに、SQL Serverデータベースと通信するためのものです。代わりにOleDbConnectionを使用してください。これは、SqlDataAdapterの代わりにOleDbDataAdapterを使用することを意味します。
  2. 文字列は、余分な引用符とスペースで少し奇妙に見えます。

代わりにこれを試してみてください:サイドノートとして

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ためのページがあります)。

+0

エラーが発生しました。キーワードはサポートされていません:「プロバイダ」。 – Tassadaque

+0

ああ、今ではSQL Serverデータベース用の 'SqlConnection'を使用していますので、' OleDbConnection'を使うべきです。私の答えが更新されます。 –

+0

更新された質問 – Tassadaque

関連する問題