C# и Access
От: leven  
Дата: 15.07.08 21:36
Оценка:
Здравсвуйте! Будте добры, распишите пожалуйста весь алгоритм подключения кода С# к базе на Access. Если конкретно, то нужно чтобы в поля базы просто заносились значения из соответсвующих текстбоксов формы. Если можно, то подробно, по шагам, я пока плохо разбираюсь ! Очень нужно! Заранее спасибо!
Re: C# и Access
От: tyger Россия  
Дата: 16.07.08 03:55
Оценка:
Здравствуйте, leven, Вы писали:

L>Здравсвуйте! Будте добры, распишите пожалуйста весь алгоритм подключения кода С# к базе на Access. Если конкретно, то нужно чтобы в поля базы просто заносились значения из соответсвующих текстбоксов формы. Если можно, то подробно, по шагам, я пока плохо разбираюсь ! Очень нужно! Заранее спасибо!

Начните с ADO.NET (можно по MSDN) и если что-то будет непонятно, задавайте конкретные вопросы!
А так, примеров в инете достаточно много...
... << RSDN@Home 1.2.0 alpha 4 rev. 1091>>
Re: C# и Access
От: leonidvp Россия  
Дата: 16.07.08 07:22
Оценка:
Например


public void InsertRow(string connectionString, string insertSQL)
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        // The insertSQL string contains a SQL statement that
        // inserts a new row in the source table.
        OleDbCommand command = new OleDbCommand(insertSQL);

        // Set the Connection to the new OleDbConnection.
        command.Connection = connection;

        // Open the connection and execute the insert command.
        try
        {
            connection.Open();
            command.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
}


MSDN
Re[2]: C# и Access
От: leven  
Дата: 16.07.08 10:04
Оценка:
Здравствуйте, leonidvp, Вы писали:

L>Например



L>
L>public void InsertRow(string connectionString, string insertSQL)
L>{
L>    using (OleDbConnection connection = new OleDbConnection(connectionString))
L>    {
L>        // The insertSQL string contains a SQL statement that
L>        // inserts a new row in the source table.
L>        OleDbCommand command = new OleDbCommand(insertSQL);

L>        // Set the Connection to the new OleDbConnection.
L>        command.Connection = connection;

L>        // Open the connection and execute the insert command.
L>        try
L>        {
L>            connection.Open();
L>            command.ExecuteNonQuery();
L>        }
L>        catch (Exception ex)
L>        {
L>            Console.WriteLine(ex.Message);
L>        }
L>        // The connection is automatically closed when the
L>        // code exits the using block.
L>    }
L>}
L>


L>MSDN


Спасибо большое! А не могли бы Вы описать поконкретнее, что происходит в данном куске кода? Просто до сих пор непонятно следующее: где именно в коде видно, с какой именно БД происходит соединение (путь, название, и т.п)? Как именно привязать конкретный текстбох формы на конкретное поле в БД?
Re[3]: C# и Access
От: leonidvp Россия  
Дата: 16.07.08 10:19
Оценка:
Здравствуйте, leven, Вы писали:


L>Спасибо большое! А не могли бы Вы описать поконкретнее, что происходит в данном куске кода? Просто до сих пор непонятно следующее: где именно в коде видно, с какой именно БД происходит соединение (путь, название, и т.п)? Как именно привязать конкретный текстбох формы на конкретное поле в БД?


Все параметры подключения задаются в connectionString. Ее можно сформировать с помощью GUI в студии (Data->AddNewDataSource) и потом использовать в приложении.
В примере создается соединение, создается запрос, открывается соединение, выполняется запрос как не возвращающий результаты (ExecuteNonQuery), закрывается соединение при выходе из блока using.
Подробнее можно посмотреть в MSDN по словам OleDbConnection, OleDbCommand, OleDbDataReader

Привязкой элементов к полям БД я ни разу не пользовался, так что про это не скажу. Можно поискать по словам Data Bound Controls.
Re[3]: C# и Access
От: tyger Россия  
Дата: 16.07.08 10:26
Оценка: 1 (1)
Здравствуйте, leven, Вы писали:

L>Здравствуйте, leonidvp, Вы писали:


L>>Например



L>>
L>>public void InsertRow(string connectionString, string insertSQL)
L>>{
// вот здесь происходит подключение - в переменной connectionString - содержится вся нужная информация.
L>>    using (OleDbConnection connection = new OleDbConnection(connectionString))
L>>    {
...
L>>    }
L>>}
L>>


L>>MSDN


строка connectionString должна выглядеть примерно так:
"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=|DataDirectory|\Northwind.mdb;
Jet OLEDB:System Database=|DataDirectory|\System.mdw;"

or

"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=C:\myPath\myJet.mdb;
User ID=Admin;
Password="


L>Спасибо большое! А не могли бы Вы описать поконкретнее, что происходит в данном куске кода? Просто до сих пор непонятно следующее: где именно в коде видно, с какой именно БД происходит соединение (путь, название, и т.п)?

L>Как именно привязать конкретный текстбох формы на конкретное поле в БД?
А это нужно смотреть в сторону databinding, это уже другая история.
... << RSDN@Home 1.2.0 alpha 4 rev. 1096>>
Re[4]: C# и Access
От: leven  
Дата: 16.07.08 10:30
Оценка:
Здравствуйте, leonidvp, Вы писали:

L>Здравствуйте, leven, Вы писали:



L>>Спасибо большое! А не могли бы Вы описать поконкретнее, что происходит в данном куске кода? Просто до сих пор непонятно следующее: где именно в коде видно, с какой именно БД происходит соединение (путь, название, и т.п)? Как именно привязать конкретный текстбох формы на конкретное поле в БД?


L>Все параметры подключения задаются в connectionString. Ее можно сформировать с помощью GUI в студии (Data->AddNewDataSource) и потом использовать в приложении.

L>В примере создается соединение, создается запрос, открывается соединение, выполняется запрос как не возвращающий результаты (ExecuteNonQuery), закрывается соединение при выходе из блока using.
L>Подробнее можно посмотреть в MSDN по словам OleDbConnection, OleDbCommand, OleDbDataReader

L>Привязкой элементов к полям БД я ни разу не пользовался, так что про это не скажу. Можно поискать по словам Data Bound Controls.


То есть няп, в параметре метода InsertRow вместо connectionString мы вставляем текст, который получился при формировании строки подключения (Data->AddNewDataSource)?
Re[5]: C# и Access
От: leonidvp Россия  
Дата: 16.07.08 10:54
Оценка:
Здравствуйте, leven, Вы писали:
L>То есть няп, в параметре метода InsertRow вместо connectionString мы вставляем текст, который получился при формировании строки подключения (Data->AddNewDataSource)?

Да, именно так.
Re[4]: C# и Access
От: leven  
Дата: 16.07.08 17:10
Оценка:
Большое спасибо всем за ответы! Но кое что все равно осталось непонятным: текстбоксы и поля в базе, а точнее между ними! Есть какие ниб варианты?
Re[5]: C# и Access
От: leven  
Дата: 16.07.08 22:56
Оценка:
Такой вопрос:
Пишу InsertRow("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\User\Desktop\АС\БД\db1.mdb", "insert into f value ('privet', 'privet')");
он выдает ошибки "unrecognized escape sequence", указывая на вот эти места в строке подключения "\U", "\D","\Б" и т. д
В чем здесь дело?
Re[6]: C# и Access
От: tyger Россия  
Дата: 17.07.08 02:51
Оценка:
Здравствуйте, leven, Вы писали:

L>Такой вопрос:

L>Пишу InsertRow("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\User\Desktop\АС\БД\db1.mdb", "insert into f value ('privet', 'privet')");
А это что за функция такая InsertRow??? почему Вы в нее строку подключения передаете?
L>он выдает ошибки "unrecognized escape sequence", указывая на вот эти места в строке подключения "\U", "\D","\Б" и т. д
Возможно в том, что символы вида '\' нужно ескейпить, т.е.

InsertRow("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\User\\Desktop\\АС\\БД\\db1.mdb", "insert into f value ('privet', 'privet')");
... << RSDN@Home 1.2.0 alpha 4 rev. 1096>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.