powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / ExecuteNonQuery: Connection property...
17 сообщений из 17, страница 1 из 1
ExecuteNonQuery: Connection property...
    #32599919
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу сделать запросец. Пихаю на формочку компонентик SQLCommand. Его свойству Connection присваиваю имя существующего на форме коннекшна.
Остальное делаю программно:
'MsgBox(cUh.ConnectionString)
MyCommand.Parameters.Clear()
MyCommand.Parameters.Add("@arch", CheckBox1.Checked)
MyCommand.CommandText = "update Priem " + _
"set archive=@arch"

'MsgBox(MyCommand.CommandText)
'MsgBox(cUh.State)
MyCommand.ExecuteNonQuery()
В ответ получаю: Additional information: ExecuteNonQuery: Connection property has not been initialized. Но я же присвоил значение полю Connection!?
...
Рейтинг: 0 / 0
ExecuteNonQuery: Connection property...
    #32599950
vooo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А тест коннекшена нормально проходит ?

В самом коннекшене есть строка ConnectString, которая должна быть корректно заполенена, а также ряд других жизненнонеобходимых свойств
...
Рейтинг: 0 / 0
ExecuteNonQuery: Connection property...
    #32599981
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что на форме есть еще датаадаптер, который использует этот коннекшн..
...
aUh.UpdateCommand.CommandText = _
"UPDATE Uhod SET ttn_uh=@ttn, auto_uh=@am, perevozchik=@org, data_uh=@duh, " & _
"poruchenie=@por, data_uh_sudna=@duhs, sudno=@sudno where id_prih=@id"
'MsgBox(aUh.UpdateCommand.CommandText)
aUh.UpdateCommand.ExecuteNonQuery()
тут все работает..
затем мне нужно выполнить запрос к совсем другой таблице..
я использую SQLCommand - и получаю ошибку..
Коннекшн остается открытым..
Хотелось бы узнать - как избавиться от этой ошибки
или можно ли в датаадаптере настроенном на одну таблицу выполнить запрос к другой таблице?
лучше бы конечно 1-ый вариант..
...
Рейтинг: 0 / 0
ExecuteNonQuery: Connection property...
    #32600007
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажите побольше кода, лучше весь где упоминается данный Connection

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
ExecuteNonQuery: Connection property...
    #32600052
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На новую форму я перетащил нужную мне таблицу из Server Explorer. Создались SQLConnection и датаадаптер. Назвал их cUh и aUh соответственно.
Юзер в форме заполняет поля и жмет Ок. Вот код:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Внесем изменения...
Dim MyCommand As New OleDb.OleDbCommand

cUh.Open()
Try
aUh.UpdateCommand.Parameters.Clear()

If ttn.Text = "" Then
aUh.UpdateCommand.Parameters.Add("@ttn", DBNull.Value)
Else
aUh.UpdateCommand.Parameters.Add("@ttn", ttn.Text)
End If

If am.Text = "" Then
aUh.UpdateCommand.Parameters.Add("@am", DBNull.Value)
Else
aUh.UpdateCommand.Parameters.Add("@am", am.Text)
End If

'Перевозчик...
If Org.SelectedValue = Nothing Then 'Or Not IsNumeric(cbCargo.SelectedValue) Then
aUh.UpdateCommand.Parameters.Add("@org", DBNull.Value)
Else
aUh.UpdateCommand.Parameters.Add("@org", Org.SelectedValue)
End If

aUh.UpdateCommand.Parameters.Add("@duh", Me.DateTimePicker1.Value)


If por.Text = "" Then
aUh.UpdateCommand.Parameters.Add("@por", DBNull.Value)
Else
aUh.UpdateCommand.Parameters.Add("@por", por.Text)
End If

aUh.UpdateCommand.Parameters.Add("@duhs", Me.DateTimePicker2.Value)



'Проверим выбрано ли Судно в комбобоксе...
If cbSudno.SelectedValue = Nothing Then 'Or Not IsNumeric(cbCargo.SelectedValue) Then
aUh.UpdateCommand.Parameters.Add("@sudno", DBNull.Value)
Else
aUh.UpdateCommand.Parameters.Add("@sudno", cbSudno.SelectedValue)
End If


aUh.UpdateCommand.Parameters.Add("@id", id.Text)

aUh.UpdateCommand.CommandText = _
"UPDATE Uhod SET ttn_uh=@ttn, auto_uh=@am, perevozchik=@org, data_uh=@duh, " & _
"poruchenie=@por, data_uh_sudna=@duhs, sudno=@sudno where id_prih=@id"
'MsgBox(aUh.UpdateCommand.CommandText)
aUh.UpdateCommand.ExecuteNonQuery()

Catch ex As Exception
MsgBox("Изменения не записаны.")
End Try


'Поместим запись в архив...
If CheckBox1.Checked = True Then
'Try

MsgBox(cUh.ConnectionString)
'MyCommand.Connection.ConnectionString = cUh.ConnectionString
MyCommand.Parameters.Clear()
MyCommand.Parameters.Add("@arch", CheckBox1.Checked)
MyCommand.CommandText = "update Priem " + _
"set archive=@arch"

'MsgBox(MyCommand.CommandText)
'MsgBox(cUh.State)
MyCommand.ExecuteNonQuery()
' Catch ex As Exception
' MsgBox("Запись в архив не добавлена!")
' End Try
End If

cUh.Close()
Me.Close()
End Sub
До использования мною SQLCommand все работает.
...
Рейтинг: 0 / 0
ExecuteNonQuery: Connection property...
    #32600056
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Connection программно я нигде не меняю... даже его не трогаю
...
Рейтинг: 0 / 0
ExecuteNonQuery: Connection property...
    #32600143
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может здесь разгадка. пытаюсь программно присвоить коннекш и получаю (см. рис). Хотя у меня SQLConnection, SQLCommand..
...
Рейтинг: 0 / 0
ExecuteNonQuery: Connection property...
    #32600228
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторDim MyCommand As New OleDb.OleDbCommand
Это не SQL Command
Вот
Код: plaintext
Dim MyCommand As New SqlClient.SqlCommand
...
Рейтинг: 0 / 0
ExecuteNonQuery: Connection property...
    #32600797
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я руками ничего не писал - все создавал перетаскиванием..
...
Рейтинг: 0 / 0
ExecuteNonQuery: Connection property...
    #32600800
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но в уголках написано sql
...
Рейтинг: 0 / 0
ExecuteNonQuery: Connection property...
    #32600803
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал так..
...
aUh.UpdateCommand.CommandText = _
"UPDATE Uhod SET ttn_uh=@ttn, auto_uh=@am, perevozchik=@org, data_uh=@duh, " & _
"poruchenie=@por, data_uh_sudna=@duhs, sudno=@sudno where id_prih=@id"
'MsgBox(aUh.UpdateCommand.CommandText)
aUh.UpdateCommand.ExecuteNonQuery()

Catch ex As Exception
MsgBox("Изменения не записаны.")
End Try


'Поместим запись в архив...
If CheckBox1.Checked = True Then
Try

aUh.UpdateCommand.Parameters.Clear()
aUh.UpdateCommand.Parameters.Add("@arch", CheckBox1.Checked)
aUh.UpdateCommand.Parameters.Add("@datarch", DateTimePicker3.Value)
aUh.UpdateCommand.Parameters.Add("@id", id.Text)
aUh.UpdateCommand.CommandText = "update Priem " + _
"set archive=@arch, data_archive=@datarch where id_pr=@id"

aUh.UpdateCommand.ExecuteNonQuery()
MsgBox("Запись добавлена в архив!")

Catch ex As Exception
MsgBox("Запись в архив не добавлена!")
End Try
Единственное смущает что в одном адаптере идет обращение к двум разным таблицам.. Правильно ли это?
...
Рейтинг: 0 / 0
ExecuteNonQuery: Connection property...
    #32600829
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Единственное смущает что в одном адаптере идет обращение к двум разным таблицам.. Правильно ли это?


С одной стороны если работает, то правильно. С другой стороны это нарушение логики. У вас название DataAdapter aUh = uhod, ну тогда и работайте только с таблицей uhod, а для другой таблицы сделайте другой DataAdapter. Я так понимаю у вас не очень хорошо замешался код построенный мастером и ваш код.

ИМХО: Если код который делает мастер не устраивает, то все делаем сами.

P.S. Есть и еще другие причины использовать разные DataAdapter
...
Рейтинг: 0 / 0
ExecuteNonQuery: Connection property...
    #32600848
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас название DataAdapter aUh = uhod, ну тогда и работайте только с таблицей uhod, а для другой таблицы сделайте другой DataAdapter
Спасибо, я тоже к этому склонялся.. Вы развеяли мои сомнения
...
Рейтинг: 0 / 0
ExecuteNonQuery: Connection property...
    #32600862
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЯ руками ничего не писал - все создавал перетаскиванием..
А, что, в Button1_Click его мастер занёс???
авторPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Внесем изменения...
Dim MyCommand As New OleDb.OleDbCommand

cUh.Open()
Try
aUh.UpdateCommand.Parameters.Clear()
.....
.....
...
Рейтинг: 0 / 0
ExecuteNonQuery: Connection property...
    #32600863
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladgrig авторЯ руками ничего не писал - все создавал перетаскиванием..
А, что, в Button1_Click его мастер занёс???
авторPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Внесем изменения...
Dim MyCommand As New OleDb.OleDbCommand

cUh.Open()
Try
aUh.UpdateCommand.Parameters.Clear()
.....
.....

Действительно.. Прощу прощения, лопухнулся..
...
Рейтинг: 0 / 0
ExecuteNonQuery: Connection property...
    #32600880
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю, сдесь и кроется ошибка, если перетащил что то на форму - зачем объявлять это всё в процедурах, всё и так объявлено в коде, сгенереном мастером...
...
Рейтинг: 0 / 0
ExecuteNonQuery: Connection property...
    #32600914
Дудкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladgrigЯ думаю, сдесь и кроется ошибка, если перетащил что то на форму - зачем объявлять это всё в процедурах, всё и так объявлено в коде, сгенереном мастером...
Вы абсолютно правы.. получилось. Спасибо vladgrig, спасибо Sa.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / ExecuteNonQuery: Connection property...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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