Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает insert-запрос 
:(
    Опции темы
HellMasterHaiL
Дата 9.8.2006, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 9.8.2006
Где: Россия, МО, г. Юб илейный

Репутация: нет
Всего: 1



Доброго здравия всем!
Только начал изучать VB.NET и сразу посыпалась гряда проблем, вот одна из них, которую не могу решить, даже имея под рукой исходники (ну что поделаешь, если Бог обделил умишком...))...

простой скрипт на добавление строки в БД... но нифига не пашет!
Работать на SELECT я, как ни странно, научился, а вот с INSERT что-то разобраться не могу...

Код

Public str_Connect As String = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=hmh_Sserver;Data Source=VOITOVICH"
    Public Conn As OleDb.OleDbConnection = New OleDb.OleDbConnection(str_Connect)
    Public myCommand As New OleDb.OleDbCommand

Conn.Open()
            lcSQL = "INSERT INTO hmh_Films"
            lcSQL &= "(id_User, id_Region, id_Zhanr_1, id_Zhanr_2, id_Zhanr_3) VALUES (1, 1, 1, 1, 1)"
            'lcSQL = "INSERT INTO hmh_Films (id_User, id_Region, id_Zhanr_1, id_Zhanr_2, id_Zhanr_3, Name, Opisanie)"
            'lcSQL &= "VALUES (" & idUser & "," & cb_Region.SelectedIndex & "," & cb_Zhanr_1.SelectedIndex & "," & cb_Zhanr_2.SelectedIndex & "," & cb_Zhanr_3.SelectedIndex & ",'" & tb_NameFilm.Text & "'," & tb_OpisanieFilm.Text & "')"
            myCommand = New OleDb.OleDbCommand(lcSQL, Conn)
Conn.Close()

возможно я не правильно пользуюсь переменой myCommand, или тут необходимо использовать что либо другое, но что я додуматься не могу, уж простите дурака грешного...

итак, вопрос: что не так и как это исправить?
заранее всем огромное спасибо!
\=-)

PM MAIL ICQ   Вверх
mr.DUDA
Дата 9.8.2006, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



HellMasterHaiL, на будущее: одна тема - один вопрос. Я разделил тему.


--------------------
user posted image
PM MAIL WWW   Вверх
arilou
Дата 9.8.2006, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 4
Всего: 61



BTW,
Цитата(HellMasterHaiL @  9.8.2006,  13:19 Найти цитируемый пост)
(ну что поделаешь, если Бог обделил умишком...))...

не надо самоунижения.

После строки 
Код

myCommand = New OleDb.OleDbCommand(lcSQL, Conn)


надо вызвать 
Код

myCommand.ExecuteNonQuery();


А вообще для работы с Sql Server надо использовать System.Data.SqlClient, а не OleDb. Будет намного быстрее.

Добавлено @ 13:38 
Кстати для передачи параметров в запрос надо юзать SqlCommand.Parameters, а не запихивать их в строку  smile 


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
HellMasterHaiL
Дата 9.8.2006, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 9.8.2006
Где: Россия, МО, г. Юб илейный

Репутация: нет
Всего: 1



mr.DUDA, буду знать, простите, новичок, жеж)

arilou, огромное спасибо,  так бы и ломал себе голову)
System.Data.SqlClient - если честно, даже не знаю, что это такое, использую OleDb потому, что нашел пример и разобрался!


Это сообщение отредактировал(а) HellMasterHaiL - 9.8.2006, 13:45
PM MAIL ICQ   Вверх
arilou
Дата 9.8.2006, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 4
Всего: 61



Цитата(HellMasterHaiL @  9.8.2006,  13:44 Найти цитируемый пост)
System.Data.SqlClient - если честно, даже не знаю, что это такое, использую OleDb потому, что нашел пример и разобрался

Замени в своем примере все OleDb на Sql, добавь Imports System.Data.SqlClient в начало класса, и убери из connection string'а Provider=SQLOLEDB.1;

И усе  smile 


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
HellMasterHaiL
Дата 9.8.2006, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 9.8.2006
Где: Россия, МО, г. Юб илейный

Репутация: нет
Всего: 1



arilou, это все хорошо, только теперь по всему коду 
 "System.Data.SqlClient.SQL" в этом контексте недоступен, т.к. он является "Private".


Это сообщение отредактировал(а) HellMasterHaiL - 9.8.2006, 14:36
PM MAIL ICQ   Вверх
arilou
Дата 9.8.2006, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 4
Всего: 61



Код

Imports System.Data
Imports System.Data.SqlClient

Class MyClass

Public Sub Test()

Public str_Connect As String = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=hmh_Sserver;Data Source=VOITOVICH"
    Public Conn As SqlConnection = New SqlConnection(str_Connect)
    Public myCommand As SqlCommand

Conn.Open()
            lcSQL = "INSERT INTO hmh_Films"
            lcSQL &= "(id_User, id_Region, id_Zhanr_1, id_Zhanr_2, id_Zhanr_3) VALUES (1, 1, 1, 1, 1)"
            'lcSQL = "INSERT INTO hmh_Films (id_User, id_Region, id_Zhanr_1, id_Zhanr_2, id_Zhanr_3, Name, Opisanie)"
            'lcSQL &= "VALUES (" & idUser & "," & cb_Region.SelectedIndex & "," & cb_Zhanr_1.SelectedIndex & "," & cb_Zhanr_2.SelectedIndex & "," & cb_Zhanr_3.SelectedIndex & ",'" & tb_NameFilm.Text & "'," & tb_OpisanieFilm.Text & "')"
            myCommand = New SqlCommand(lcSQL, Conn)
Conn.Close()

End Sub

End CLass


Теперь понял что я имел ввиду?


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
HellMasterHaiL
Дата 10.8.2006, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 9.8.2006
Где: Россия, МО, г. Юб илейный

Репутация: нет
Всего: 1



arilou, а как теперь объявить myReader, который был например
Код

Public myReader As OleDb.OleDbDataReader

PM MAIL ICQ   Вверх
arilou
Дата 10.8.2006, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 4
Всего: 61



HellMasterHaiL, посмотри-ка для начала в MSDN в неймспейс System.Data.SqlCient.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0502 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.