powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / С# vs MS ACCESS
6 сообщений из 6, страница 1 из 1
С# vs MS ACCESS
    #32110059
Leshi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как на C# обратиться к базе на MS ACCESS считывать и записывать данные.
Заранее спасибо.
...
Рейтинг: 0 / 0
С# vs MS ACCESS
    #32110104
SCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SCS
Гость
Создай OleDbConnection со строкой подключения
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\temp\\myAccess.mdb;User ID=admin;"
и работай через него с БД
...
Рейтинг: 0 / 0
С# vs MS ACCESS
    #32113215
Leshi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно чтобы по нажатию кнопки данные из текстовых полей записывались в базу данных. Как считывать Я знаю, а вот с записью проблемы. Когда пишу:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
oleCon = new OleDbConnection();
oleCon.ConnectionString = @ "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Data Source=c:\\temp\\myAccess.mdb;User ID=admin;";
oleCon.Open();
oleCon.CreateCommand().CommandText =  "INSERT INTO bgpf(bgcus, bgname, bgtemp, bgtime) VALUES(2 ,  2 ,  2 ,  18 : 12 )";
oleCon.Close();

Пользовался стандартными стредствами VS, только ничего не помагает.
Как же все таки записать значения в базу данных и их от туда извлекать. В хелпе написано, так мало, к тому же ничего не работает.
Помогите, очень надо.
С уважением.
...
Рейтинг: 0 / 0
С# vs MS ACCESS
    #32113229
SCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SCS
Гость
после открытия коннекшена
oleCon.Open();
создавай нужные команды и выполняй их
Код: plaintext
1.
OleDbCommand cm=new OleDbCommand( "INSERT INTO bgpf(bgcus, bgname, bgtemp, bgtime) VALUES(2 ,  2 ,  2 , # 18 : 12 #)", oleCon);
cm.ExecuteNonQuery();

обращай внимание на синтаксис DML и его специфику для Access

символьные значения в ординарных кавычках
'Иванов И.И.'
поля дата/время в решетках и американском формате
#mm/dd/yyyy hh:mm:ss#
или используй escape (он инвариантен к БД)
{ts 'yyyy-mm-dd hh:mm:ss'}
{d 'yyyy-mm-dd'}
{t 'hh:mm:ss'}

судя по названиям полей - тип bgname - строка, bgtime - дата/время, остальные числа:
Код: plaintext
INSERT INTO bgpf(bgcus, bgname, bgtemp, bgtime) VALUES( 2 , '2',  2 , {t '18:12'})


извлекать данные через OleDbDataReader (значения полей из записей) или OleDbDataAdapter (сразу заполняешь одну или несколько DataTable)
...
Рейтинг: 0 / 0
С# vs MS ACCESS
    #32117043
Leshi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
oleCon.ConnectionString = @ "Provider=Microsoft.Jet.OLEDB.4 . 0 ;Password=" """ ;User ID=Admin;Data Source=C:\ODB.mdb;Mode=ReadWrite;Extended Properties= """  ";Jet OLEDB:System database="  """ ;Jet OLEDB:Registry Path= """  ";Jet OLEDB:Database Password="  """ ;Jet OLEDB:Engine Type= 5 ;Jet OLEDB:Database Locking Mode= 0 ;Jet OLEDB:Global Partial Bulk Ops= 2 ;Jet OLEDB:Global Bulk Transactions= 1 ;Jet OLEDB:New Database Password= """  ";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";'
oleCon.Open();
myDataAdapter.SelectCommand.CommandText = " select bgcus, bgname, bgtemp, bgtime from bgpf ";
myDataAdapter.SelectCommand.Connection.ConnectionString = @" Provider=Microsoft.Jet.OLEDB. 4 . 0 ;Password= """  ";User ID=Admin;Data Source=C:\ODB.mdb;Mode=ReadWrite;Extended Properties="  """ ;Jet OLEDB:System database= """  ";Jet OLEDB:Registry Path="  """ ;Jet OLEDB:Database Password= """  ";Jet OLEDB:Engine Type=5 ;Jet OLEDB:Database Locking Mode= 0 ;Jet OLEDB:Global Partial Bulk Ops= 2 ;Jet OLEDB:Global Bulk Transactions= 1 ;Jet OLEDB:New Database Password=" """ ;Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False ";
myDataAdapter.Fill(dataSet1, " bgpf");
oleCon.Close();


Пишу вышеприведенный код. И на строчке
Код: plaintext
1.
myDataAdapter.SelectCommand.CommandText =  "select bgcus, bgname, bgtemp, bgtime from bgpf" ;

Программа начинает ругаться следующим:

An unhandled exception of type 'System.NullReferenceException' occurred in Test.exe

Additional information: Object reference not set to an instance of an object.

Неделю назад все работало.
...
Рейтинг: 0 / 0
С# vs MS ACCESS
    #32117148
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
замени
Код: plaintext
1.
myDataAdapter.SelectCommand.CommandText =  "select bgcus, bgname, bgtemp, bgtime from bgpf" ;
myDataAdapter.SelectCommand.Connection.ConnectionString = @ "Provider=Microsoft.Jet.OLEDB.4 . 0 ;..."
на
Код: plaintext
myDataAdapter.SelectCommand=new OleDbCommand( "select bgcus, bgname, bgtemp, bgtime from bgpf" , oleCon);
и будет OK
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / С# vs MS ACCESS
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]