C#中的DataSet帮助

时间:2009-08-24 06:28:35

标签: c# database dataset datarow

我在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(”select(*)from IB_Account“,conn);”出现错误,说明语法无效。我怎样才能正确理解?

2 个答案:

答案 0 :(得分:5)

如果“Internet_Bankaciligi”是您的实际数据库名称,则无法直接对其执行SQL命令。您必须更改SQL以从表或视图中进行选择。

您的第二个示例不起作用,因为“SELECT (*)”不是有效语法。它应该是“SELECT * FROM IB_Account”......没有括号。

答案 1 :(得分:0)

我在Sql Server 2008中检查了这个语句:

Select (*) from <table>

它不起作用。我从未见过这种语法,不是在sqlserver 2005中,也不是在Oracle和sqlite中。

试试这个:

Select * from <table>

编辑:如果我是你,我会尝试使用强类型数据集,甚至实体框架,它们都更先进,更容易与...合作。谷歌他们。