2014-11-21 28 views
0

如何使用DbConnection類連接到數據庫(sql server或oracle)並從任意表中獲取數據。我試着用下面的代碼,但我得到一個運行時異常這樣的:如何使用DbConnection類連接和從數據庫獲取數據

錯誤3錯誤C2664: 「系統::數據:: SqlClient中的SqlDataAdapter :: :: SqlDataAdapter的(系統::字符串 __gc * ,System :: String __gc *)':無法將參數2從'System :: Data :: Common :: DbConnection __gc *'轉換爲'System :: String __gc *' 在新的SqlDataAdapter(S「select * from [LabOpsStatus ]」,康涅狄格州)

DbConnection *conn; 
conn = new SqlConnection(S"Data Source=(local);Initial Catalog=myDb;User Id=user;Password=pw;"); 
conn->Open(); 
mySDataAdapter = new SqlDataAdapter(S"select * from [LabOpsStatus]",conn); 

什麼是錯誤的代碼?

回答

0

Shaheer,你需要從提供者創建連接。我不認爲我的提供者被指定爲Oracle是正確的。

一些C#代碼再次

DbProviderFactory factory = DbProviderFactories.GetFactory("Oracle"); 

DbConnection conn = factory.CreateConnection(); 
conn.ConnectionString = "Data Source=(local);Initial Catalog=myDb;User Id=user;Password=pw;"; 

DbCommand cmd = factory.CreateCommand(); 
cmd.Connection = conn; 
cmd.CommandText = "Select * from table1"; 
+0

,你仍然有是,一旦你創建的SQL連接,你不能使用它的甲骨文,除非你重新在同一對象的連接問題對於Oracle – Jaques 2014-11-21 12:56:44

+0

謝謝你。我知道了。 – shaheer 2014-11-24 10:04:51

0
string datosConexion = "Data Source=(local);" 
     + "Initial Catalog = myDb ; User Id=user;Password=pw;"; 

     try 
     { 
      using (SqlConnection con = new SqlConnection(datosConexion)) 
      { 
       con.Open(); 
       string textoCmd = "select * from [LabOpsStatus]"; 

       SqlCommand cmd = new SqlCommand(textoCmd, con); 
      } 
     } 
     catch (Exception e) 
     { 
      Console.WriteLine(e.Message); 
     } 
相關問題