2009-08-24 77 views
0

我在c#中連接了一個sql數據庫,現在試圖將內容放入數據集中。我將如何做到這一點?C#中的DataSet幫助

我的代碼是:

string constr = "Data Source=ECEE;Initial Catalog=Internet_Bankaciligi;User ID=sa"; 

     SqlConnection conn = new SqlConnection(constr); 

     SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter("Select * from Internet_Bankaciligi", conn); 
     DataSet myDataSet = new DataSet(); 
     DataRow myDataRow; 


     SqlCommandBuilder mySqlCommandBuilder = new SqlCommandBuilder(mySqlDataAdapter); 


     mySqlDataAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey; 

     mySqlDataAdapter.Fill(myDataSet,"Internet_Bankaciligi"); 

     myDataRow = myDataSet.Tables["IB_Account"].NewRow(); 
     myDataRow["Account_ID"] = "NewID"; 
     myDataRow["Branch_ID"] = "New Branch"; 
     myDataRow["Amount"] = "New Amount"; 

     myDataSet.Tables["Customers"].Rows.Add(myDataRow); 

行: 「mySqlDataAdapter.Fill(myDataSet」 Internet_Bankaciligi 「);」 「無效的對象名稱」Internet_Bankaciligi'「提供錯誤。但Internet_Bankaciligi是我的數據庫名稱。

此外,如果我使用:

SqlCommand selectCMD = new SqlCommand("select (*) from IB_Account", conn); 

     SqlDataAdapter myAdapter = new SqlDataAdapter(); 
     myAdapter.SelectCommand = selectCMD; 

     myAdapter.Fill(myDataSet); 

然後: 「的SqlCommand設置SelectCmd =新的SqlCommand(」 從IB_Account選擇(*) 「康涅狄格州);」給出一個錯誤,說無效的語法。我如何得到它是正確的?

回答

5

如果「Internet_Bankaciligi」是您的實際數據庫名稱,則無法直接對其執行SQL命令。您必須更改SQL以從表或視圖中進行選擇。

你的第二個例子不起作用,因爲「SELECT (*)」是無效的語法。它應該是「SELECT * FROM IB_Account」......沒有括號。

0

我在SQL Server 2008中選中此聲明:

Select (*) from <table> 

它不工作。我從來沒有見過這種語法,不是在sqlserver 2005中,也不是Oracle和sqlite。

試試這個:

Select * from <table> 

編輯:如果我是你,我會嘗試使用強類型數據集,甚至實體框架這都是更先進,更容易與...合作。 Google他們。