Здравствуйте, 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>>
строка 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, это уже другая история.
Здравсвуйте! Будте добры, распишите пожалуйста весь алгоритм подключения кода С# к базе на Access. Если конкретно, то нужно чтобы в поля базы просто заносились значения из соответсвующих текстбоксов формы. Если можно, то подробно, по шагам, я пока плохо разбираюсь ! Очень нужно! Заранее спасибо!
Здравствуйте, leven, Вы писали:
L>Здравсвуйте! Будте добры, распишите пожалуйста весь алгоритм подключения кода С# к базе на Access. Если конкретно, то нужно чтобы в поля базы просто заносились значения из соответсвующих текстбоксов формы. Если можно, то подробно, по шагам, я пока плохо разбираюсь ! Очень нужно! Заранее спасибо!
Начните с ADO.NET (можно по MSDN) и если что-то будет непонятно, задавайте конкретные вопросы!
А так, примеров в инете достаточно много...
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.
}
}
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>Спасибо большое! А не могли бы Вы описать поконкретнее, что происходит в данном куске кода? Просто до сих пор непонятно следующее: где именно в коде видно, с какой именно БД происходит соединение (путь, название, и т.п)? Как именно привязать конкретный текстбох формы на конкретное поле в БД?
Все параметры подключения задаются в connectionString. Ее можно сформировать с помощью GUI в студии (Data->AddNewDataSource) и потом использовать в приложении.
В примере создается соединение, создается запрос, открывается соединение, выполняется запрос как не возвращающий результаты (ExecuteNonQuery), закрывается соединение при выходе из блока using.
Подробнее можно посмотреть в MSDN по словам OleDbConnection, OleDbCommand, OleDbDataReader
Привязкой элементов к полям БД я ни разу не пользовался, так что про это не скажу. Можно поискать по словам Data Bound Controls.
Здравствуйте, 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)?
Здравствуйте, leven, Вы писали: L>То есть няп, в параметре метода InsertRow вместо connectionString мы вставляем текст, который получился при формировании строки подключения (Data->AddNewDataSource)?
Такой вопрос:
Пишу 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","\Б" и т. д
В чем здесь дело?
Здравствуйте, 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')");