Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Unable to update Bit datatype sql server / 24 сообщений из 24, страница 1 из 1
08.07.2014, 15:53
    #38690682
tasha klemer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
Есть простой код для обновления данных на сервере

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Command = New SqlCommand("UPDATE [BuildInspector].[dbo].[TSortObjConstr] SET [t2] = @t2 " & _
    " WHERE Id_TSort = @Id_TSort", fLogin.connection)

        If Me.cbItog.SelectedValue = 9 Then
            Command.Parameters.Add("@t2", SqlDbType.Bit, 0, "t2").Value = True
            Command.Parameters.Add("@t2", SqlDbType.Bit, 1, "t2").Value = True
        Else
            Command.Parameters.Add("@t2", SqlDbType.Bit, 0, "t2").Value = False
        End If

        Command.Parameters.Add("@Id_TSort", SqlDbType.Bit, 1, "Id_TSort").Value = Me.cbTypyWork.SelectedValue
        Me.TSortObjConstrTableAdapter.Adapter.UpdateCommand = Command
        Me.TSortObjConstrTableAdapter.Fill(Me.BuildInspectorDataSet.TSortObjConstr)




не могу обновить данные для столбуа T2
мне кажется это связано с типом данных, но ни могу найти ни где ни примеров не разьяснений

просто прямым запросом все вставляется без проблем
...
Рейтинг: 0 / 0
08.07.2014, 16:48
    #38690818
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
попробуйте Command.Parameters.Add(new SqlParameter("@t2", SqlDbType.Bit) { SqlValue = true })
...
Рейтинг: 0 / 0
08.07.2014, 16:52
    #38690828
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
Хм, а я не парюсь, использую метод AddWithValue , в качестве значения передаю Boolean.
...
Рейтинг: 0 / 0
08.07.2014, 16:54
    #38690836
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
skyANAХм, а я не парюсь, использую метод AddWithValue , в качестве значения передаю Boolean.

Я вообще напрямую к Sql* не обращаюсь, только через BLT либо EF :-)
...
Рейтинг: 0 / 0
08.07.2014, 16:57
    #38690841
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
Arm79skyANAХм, а я не парюсь, использую метод AddWithValue , в качестве значения передаю Boolean.

Я вообще напрямую к Sql* не обращаюсь, только через BLT либо EF :-)Дак в BLT вроде же DbManager.Parameter(ла ла ла), по сути таже фигня.
А на работе у меня NHibernate.
...
Рейтинг: 0 / 0
08.07.2014, 16:58
    #38690845
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
И MongoDB... Там вообще Sql* не пахнет
...
Рейтинг: 0 / 0
08.07.2014, 17:05
    #38690855
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
skyANAИ MongoDB... Там вообще Sql* не пахнет

Пока ТС думает, подходят ли ему советы или нет, можете рассказать минусы MongoDB из практики? Как ведет себя при высокой нагрузке? Имеет ли значение отношение количества read к write?
...
Рейтинг: 0 / 0
08.07.2014, 17:09
    #38690860
tasha klemer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Command = New SqlCommand("UPDATE [BuildInspector].[dbo].[TSortObjConstr] SET t2 = @t2 " & _
    " WHERE Id_TSort = @Id_TSort", fLogin.connection)

        If Me.cbItog.SelectedValue = 9 Then
            Command.Parameters.AddWithValue("@t2", Boolean.TrueString)
        Else
            Command.Parameters.AddWithValue("@t2", Boolean.FalseString)
        End If
...
Рейтинг: 0 / 0
08.07.2014, 17:10
    #38690861
tasha klemer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
сделала след. образом, но изменения поля не произошло
...
Рейтинг: 0 / 0
08.07.2014, 17:20
    #38690879
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
tasha klemerсделала след. образом, но изменения поля не произошло1. Пишите вместо Boolean.TrueString - True, вместо Boolean.FalseString - False;
2. Ну и вызывайте Command.ExecuteNonQuery() , а то ведь Ваш запрос не выполняется
...
Рейтинг: 0 / 0
08.07.2014, 17:26
    #38690883
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
tasha klemer, хотя проще за Вас код написать:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim command As New SqlCommand("UPDATE [BuildInspector].[dbo].[TSortObjConstr] SET [t2] = @t2 " & _
    " WHERE Id_TSort = @Id_TSort", fLogin.connection)

If Me.cbItog.SelectedValue = 9 Then
    command.Parameters.AddWithValue("t2", True)
Else
    command.Parameters.AddWithValue("t2", False)
End If

command.Parameters.AddWithValue("Id_TSort", Me.cbTypyWork.SelectedValue)
command.Connection.Open()
command.ExecuteNonQuery()


Насчёт необходимости строки command.Connection.Open() не уверен, возможно соединение у Вас уже открыто.
...
Рейтинг: 0 / 0
08.07.2014, 17:28
    #38690885
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
skyANAНу и вызывайте Command.ExecuteNonQuery() , а то ведь Ваш запрос не выполняется
tasha klemer
Код: vbnet
1.
Me.TSortObjConstrTableAdapter.Adapter.UpdateCommand = Command



У неё на таблицах, там должно автоматом вызываться...
...
Рейтинг: 0 / 0
08.07.2014, 17:36
    #38690897
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
Arm79skyANAНу и вызывайте Command.ExecuteNonQuery() , а то ведь Ваш запрос не выполняется
tasha klemer
Код: vbnet
1.
Me.TSortObjConstrTableAdapter.Adapter.UpdateCommand = Command



У неё на таблицах, там должно автоматом вызываться...ТС походу хочет обновить одну запись, а не все изменённые записи в DataSet.
Не факт, что изменения в DataSet вообще есть и как-то связаны с cbItog. А адаптер UpdateCommand выполнять не будет, если изменений нет.
...
Рейтинг: 0 / 0
08.07.2014, 17:46
    #38690913
tasha klemer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
skyANAtasha klemerсделала след. образом, но изменения поля не произошло1. Пишите вместо Boolean.TrueString - True, вместо Boolean.FalseString - False;
2. Ну и вызывайте Command.ExecuteNonQuery() , а то ведь Ваш запрос не выполняется


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
                Command = New SqlCommand("UPDATE [BuildInspector].[dbo].[TSortObjConstr] SET t2 = @t2 " & _
    " WHERE Id_TSort = @Id_TSort", fLogin.connection)

        If Me.cbItog.SelectedValue = 9 Then
            Command.Parameters.AddWithValue("@t2", True)
        Else
            Command.Parameters.AddWithValue("@t2", False)
        End If
        Command.Parameters.Add("@Id_TSort", SqlDbType.NChar, 1, "Id_TSort").Value = Me.cbTypyWork.SelectedValue
        Me.TSortObjConstrTableAdapter.Adapter.UpdateCommand = Command
        Me.TSortObjConstrTableAdapter.Adapter.UpdateCommand.ExecuteNonQuery()
        Me.TSortObjConstrTableAdapter.Fill(Me.BuildInspectorDataSet.TSortObjConstr)




Нет ни в какую не меняется, все отрабатывает ибез ошибок!
Я даже не знаю на какие моменты еще обратить внимание.
...
Рейтинг: 0 / 0
08.07.2014, 17:51
    #38690919
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
tasha klemerНет ни в какую не меняется, все отрабатывает ибез ошибок!
Я даже не знаю на какие моменты еще обратить внимание.
На трассер. Поставьте и убедитесь, что на сервер уходит корректный запрос...
...
Рейтинг: 0 / 0
08.07.2014, 18:00
    #38690935
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
Ну... и, если по большому счету, то Adapter.UpdateCommand.ExecuteNonQuery() это пять...
...
Рейтинг: 0 / 0
08.07.2014, 18:01
    #38690938
igr_ok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
tasha klemer
Код: vbnet
1.
2.
        Me.TSortObjConstrTableAdapter.Adapter.UpdateCommand.ExecuteNonQuery()
        Me.TSortObjConstrTableAdapter.Fill(Me.BuildInspectorDataSet.TSortObjConstr)


Нет ни в какую не меняется, все отрабатывает ибез ошибок!
Я даже не знаю на какие моменты еще обратить внимание.Потому что вы к уже существующим в BuildInspectorDataSet.TSortObjConstr данным добавляете измененные. Или перед Fill делайте Clear, или просто вызывайте что-то вроде RefreshData у компонента, где отображаются данные.
...
Рейтинг: 0 / 0
08.07.2014, 18:06
    #38690947
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
tasha klemer, а как Вы проверяете, что не меняется?
...
Рейтинг: 0 / 0
08.07.2014, 18:51
    #38691018
tasha klemer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
igr_oktasha klemer
Код: vbnet
1.
2.
        Me.TSortObjConstrTableAdapter.Adapter.UpdateCommand.ExecuteNonQuery()
        Me.TSortObjConstrTableAdapter.Fill(Me.BuildInspectorDataSet.TSortObjConstr)


Нет ни в какую не меняется, все отрабатывает ибез ошибок!
Я даже не знаю на какие моменты еще обратить внимание.Потому что вы к уже существующим в BuildInspectorDataSet.TSortObjConstr данным добавляете измененные. Или перед Fill делайте Clear, или просто вызывайте что-то вроде RefreshData у компонента, где отображаются данные.

при пошаговой трасеровке видно что при выполнение пеерзаливки данных происходит предварительная чиствка обькта
Код: vbnet
1.
 Me.TSortObjConstrTableAdapter.Fill(Me.BuildInspectorDataSet.TSortObjConstr)



Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Public Overloads Overridable Function Fill(ByVal dataTable As BuildInspectorDataSet.TSortObjConstrDataTable) As Integer
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            If (Me.ClearBeforeFill = true) Then
                dataTable.Clear
            End If
            Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
            Return returnValue
        End Function



в DataSet Visualezer это видно, что данные перезаливаются...Зачем же еще тогда Clear???
...
Рейтинг: 0 / 0
08.07.2014, 19:09
    #38691041
igr_ok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
tasha klemer,

Попробуйте вместо значения параметра true/false 1/0
...
Рейтинг: 0 / 0
08.07.2014, 19:19
    #38691051
tasha klemer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
вариант предложеный skyANA рабочий

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Me.TSortObjConstrTableAdapter.Adapter.UpdateCommand = New SqlCommand("UPDATE [BuildInspector].[dbo].[TSortObjConstr] SET [t2] = @t2  WHERE Id_TSort = @Id_TSort", fLogin.connection)
        If Me.cbItog.SelectedValue = 9 Then
            Me.TSortObjConstrTableAdapter.Adapter.UpdateCommand.Parameters.AddWithValue("t2", True)
        Else
            Me.TSortObjConstrTableAdapter.Adapter.UpdateCommand.Parameters.AddWithValue("t2", False)
        End If

        Me.TSortObjConstrTableAdapter.Adapter.UpdateCommand.Parameters.AddWithValue("Id_TSort", Me.cbTypyWork.SelectedValue)
        Me.TSortObjConstrTableAdapter.Adapter.UpdateCommand.ExecuteNonQuery()
        Me.TSortObjConstrTableAdapter.Fill(Me.BuildInspectorDataSet.TSortObjConstr)
        Me.VAuditPlanInformTableAdapter.Fill(Me.BuildInspectorDataSet.vAuditPlanInform)
...
Рейтинг: 0 / 0
08.07.2014, 20:56
    #38691126
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
Эх, молодёжь! Даже скопипастить с первого раза нормально не можете...
...
Рейтинг: 0 / 0
08.07.2014, 20:58
    #38691127
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
tasha klemer, а объясните, зачем Вы в Me.TSortObjConstrTableAdapter.Adapter.UpdateCommand "срёте"? Религия?
...
Рейтинг: 0 / 0
09.07.2014, 07:55
    #38691350
tasha klemer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Unable to update Bit datatype sql server
skyANAtasha klemer, а объясните, зачем Вы в Me.TSortObjConstrTableAdapter.Adapter.UpdateCommand "срёте"? Религия?


Если честно, у меня до сих пор не совсем по полочкам разложилась информация по поводу правильного или корректного подключения в данным и работы с ними.т.к.это мой первый проект .. Есть DataSource который подключен к проекту при помощи мастера....
1)BuildInspectorDataSet - мой datasource
2)BuildInspectorDataSet- содержит "копию" всех обьектов таблиц и вьюх..обращение к ним Me.BuildInspectorDataSet.TSortObjConstr
3)так же организован доступ к данным динамически, например

Код: vbnet
1.
2.
3.
4.
5.
6.
Public Shared adapter As SqlDataAdapter
    Public Shared adWorkerAll As SqlDataAdapter
    Public Shared cmd As New SqlCommand()
    Public Shared ds As New DataSet
    cmd.CommandText = "SELECT dbo.TObjectConstr.Id_Obj,...
    adWorkerAll = New SqlDataAdapter(cmd.CommandText, fLogin.connectionString)



3)при работе с элментами управления, такми как datagridview или ComboBox использую обычно данные datasourse
4)Если же нужны составные данные из нескольких таблиц, то использую динамические созданные таблицы, чтоб не создавать их на стороне сервера
в данном случае задача стояла следующая было 2 datagridview данные в нем отображались за счет данных datasource( Me.BuildInspectorDataSet.TSortObjConstr)....поэтому и использовала в процедурах вставки, удаления, изменения доступ через
Me.TSortObjConstrTableAdapter.Adapter.UpdateCommand ...


или в чем моя ошибка?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Unable to update Bit datatype sql server / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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