0

我在 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);" 给出一个错误,说明语法无效。我将如何正确处理?

4

2 回答 2

5

如果“ Internet_Bankaciligi”是您的实际数据库名称,那么您不能直接针对它执行 SQL 命令。您必须更改 SQL 以从表或视图中进行选择。

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

于 2009-08-24T06:36:22.637 回答
0

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

Select (*) from <table>

它不起作用。我从未见过这种语法,在 sqlserver 2005、Oracle 和 sqlite 中都没有。

试试这个:

Select * from <table>

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

于 2009-08-24T06:36:54.227 回答