[英]DataSet help in C#
我在c#中連接了一個sql數據庫,現在嘗試將內容放入數據集中。 我將如何做到這一點?
我的代碼是:
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 = new SqlCommand(“從IB_Account中選擇(*)”,conn);“ 給出錯誤,指出語法無效。 我該如何正確?
如果“ Internet_Bankaciligi
”是您的實際數據庫名稱,那么您將無法直接對其執行SQL命令。 您必須更改SQL以從表或視圖中進行選擇。
您的第二個示例不起作用,因為“ SELECT (*)
”是無效的語法。 它應該是“ SELECT * FROM IB_Account
” ...沒有括號。
我在Sql Server 2008中檢查了以下語句:
Select (*) from <table>
沒用 我從未見過這種語法,在sqlserver 2005,Oracle或sqlite中都沒有。
試試這個:
Select * from <table>
編輯:如果我是我,我將嘗試使用強類型的數據集 ,甚至使用實體框架 ,兩者都更先進,更易於使用。 谷歌他們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.