DataSet поможет в C # - PullRequest
       26

DataSet поможет в C #

0 голосов
/ 24 августа 2009

Я подключил базу данных sql в c # и теперь пытаюсь поместить содержимое в набор данных. Как я смогу это сделать?

Мой код:

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 ]

5 голосов
/ 24 августа 2009

Если «Internet_Bankaciligi» - это ваше действительное имя базы данных, вы не можете выполнить команду SQL непосредственно для него. Вы должны изменить свой SQL, чтобы выбрать из таблицы или представления.

Ваш второй пример не работает, потому что "SELECT (*)" не является допустимым синтаксисом. Это должно быть "SELECT * FROM IB_Account" ... без скобок.

0 голосов
/ 24 августа 2009

Я проверил это утверждение в Sql Server 2008:

Select (*) from <table>

Это не работает. Я никогда не видел этот синтаксис ни в sqlserver 2005, ни в Oracle, ни в sqlite.

попробуйте это:

Select * from <table>

Редактировать: На вашем месте я постараюсь использовать строго типизированные наборы данных или даже Entity Framework , с которыми оба более продвинуты и с ними легче работать. Гугл им.

...