Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2011, 11:25   #1
Ramirag
Пользователь
 
Регистрация: 02.12.2009
Сообщений: 26
По умолчанию UPDATE, INSERT, DELETE в DataGridView C#

Хочу присоединить свой BindingSource к DataGridView, но у меня проблема с записыванием UPDATE, INSERT, DELETE запросов. Визуальный редактор генерирует их подобным образом. InsertCommand к БД Northwind:
INSERT INTO [dbo].[Suppliers] ([CompanyName], [ContactName], [ContactTitle], [Address], [City], [Region], [PostalCode], [Country], [Phone], [Fax], [HomePage]) VALUES (@CompanyName, @ContactName, @ContactTitle, @Address, @City, @Region, @PostalCode, @Country, @Phone, @Fax, @HomePage);
SELECT SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage FROM Suppliers WHERE (SupplierID = SCOPE_IDENTITY())
Где визуальный редактор эти переменные объявляет я найти не смог, может мне кто покажет как их объявить, что бы подобные запросы работали или как это можно сделать по другому.
Ramirag вне форума Ответить с цитированием
Старый 03.09.2011, 12:09   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Пишите руками.Пример для MySql
У вас немного будет отличаться
Код:
Public Sub AdapterCust()
        Me.MyAdapterCust.DeleteCommand = New MySqlCommand("DELETE FROM  baza.customers WHERE  ИД= :ИД", Me.myConnect)
        Me.MyAdapterCust.DeleteCommand.Parameters.Add("ИД", MySqlType.Int, 0, "ИД").SourceVersion = DataRowVersion.Original

        Me.MyAdapterCust.UpdateCommand = New MySqlCommand("UPDATE baza.customers SET  ИД= :ИД," & _
" Организация = :Организация ,Фамилия=:Фамилия ,Имя=:Имя , " & _
"Долг=:Долг,Должность=:Должность,Рабочийтелефон=:Рабочийтелефон,Домашнийтелефон=:Домашнийтелефон,Мобильныйтелефон=:Мобильныйтелефон,Адрес=:Адрес,Город=:Город," & _
" Область=:Область,Индекс=:Индекс, Сумма=:Сумма    WHERE  ИД=:oldDeptNo", Me.myConnect)

        Me.MyAdapterCust.UpdateCommand.Parameters.Add("ИД", MySqlType.Int, 10, "ИД")
        Me.MyAdapterCust.UpdateCommand.Parameters.Add("Организация", MySqlType.VarChar, 50, "Организация")
        Me.MyAdapterCust.UpdateCommand.Parameters.Add("Фамилия", MySqlType.VarChar, 255, "Фамилия")
        Me.MyAdapterCust.UpdateCommand.Parameters.Add("Имя", MySqlType.VarChar, 50, "Имя")
        Me.MyAdapterCust.UpdateCommand.Parameters.Add("Долг", MySqlType.Decimal, 19, "Долг")
        Me.MyAdapterCust.UpdateCommand.Parameters.Add("Должность", MySqlType.VarChar, 50, "Должность")
        Me.MyAdapterCust.UpdateCommand.Parameters.Add("Рабочийтелефон", MySqlType.VarChar, 25, "Рабочийтелефон")
        Me.MyAdapterCust.UpdateCommand.Parameters.Add("Домашнийтелефон", MySqlType.VarChar, 25, "Домашнийтелефон")
        Me.MyAdapterCust.UpdateCommand.Parameters.Add("Мобильныйтелефон", MySqlType.VarChar, 25, "Мобильныйтелефон")
        Me.MyAdapterCust.UpdateCommand.Parameters.Add("Адрес", MySqlType.Text, 0, "Адрес")
        Me.MyAdapterCust.UpdateCommand.Parameters.Add("Город", MySqlType.VarChar, 50, "Город")
        Me.MyAdapterCust.UpdateCommand.Parameters.Add("Область", MySqlType.VarChar, 255, "Область")
        Me.MyAdapterCust.UpdateCommand.Parameters.Add("Индекс", MySqlType.VarChar, 15, "Индекс")
        Me.MyAdapterCust.UpdateCommand.Parameters.Add("Сумма", MySqlType.Decimal, 19, "Сумма")
        Me.MyAdapterCust.UpdateCommand.Parameters.Add("oldDeptNo", MySqlType.Int, 10, "ИД").SourceVersion = DataRowVersion.Original

        Me.MyAdapterCust.InsertCommand = New MySqlCommand("INSERT INTO baza.customers (ИД, Организация, Фамилия, Имя, Долг, Должность, Рабочийтелефон, Домашнийтелефон," & _
         " Мобильныйтелефон, Адрес, Город, Область, Индекс, Сумма) " & _
        "VALUES (:ИД,:Организация,:Фамилия,:Имя,:Долг,:Должность,:Рабочийтелефон,:Домашнийтелефон,:Мобильныйтелефон,:Адрес,:Город,:Область,:Индекс,:Сумма)", Me.myConnect)

        Me.MyAdapterCust.InsertCommand.Parameters.Add("ИД", MySqlType.Int, 10, "ИД")
        Me.MyAdapterCust.InsertCommand.Parameters.Add("Организация", MySqlType.VarChar, 50, "Организация")
        Me.MyAdapterCust.InsertCommand.Parameters.Add("Фамилия", MySqlType.VarChar, 255, "Фамилия")
        Me.MyAdapterCust.InsertCommand.Parameters.Add("Имя", MySqlType.VarChar, 50, "Имя")
        Me.MyAdapterCust.InsertCommand.Parameters.Add("Долг", MySqlType.Decimal, 19, "Долг")
        Me.MyAdapterCust.InsertCommand.Parameters.Add("Должность", MySqlType.VarChar, 50, "Должность")
        Me.MyAdapterCust.InsertCommand.Parameters.Add("Рабочийтелефон", MySqlType.VarChar, 25, "Рабочийтелефон")
        Me.MyAdapterCust.InsertCommand.Parameters.Add("Домашнийтелефон", MySqlType.VarChar, 25, "Домашний телефон")
        Me.MyAdapterCust.InsertCommand.Parameters.Add("Мобильныйтелефон", MySqlType.VarChar, 25, "Мобильныйтелефон")
        Me.MyAdapterCust.InsertCommand.Parameters.Add("Адрес", MySqlType.Text, 0, "Адрес")
        Me.MyAdapterCust.InsertCommand.Parameters.Add("Город", MySqlType.VarChar, 50, "Город")
        Me.MyAdapterCust.InsertCommand.Parameters.Add("Область", MySqlType.VarChar, 255, "Область")
        Me.MyAdapterCust.InsertCommand.Parameters.Add("Индекс", MySqlType.VarChar, 15, "Индекс")

        Me.MyAdapterCust.InsertCommand.Parameters.Add("Сумма", MySqlType.Decimal, 19, "Сумма")

        Try
            Me.MyAdapterCust.Update(DS1.Tables("customers"))
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

    End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 03.09.2011, 12:10   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Это с дизайнера для MSSQL
Код:
 Me._adapter.DeleteCommand = New Global.System.Data.SqlClient.SqlCommand
            Me._adapter.DeleteCommand.Connection = Me.Connection
            Me._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[Users] WHERE (([user_id] = @Original_user_id) AND ([user_type_"& _ 
                "code] = @Original_user_type_code) AND ([user_first_name] = @Original_user_first_"& _ 
                "name) AND ([user_last_name] = @Original_user_last_name) AND ([user_phone] = @Ori"& _ 
                "ginal_user_phone) AND ([user_email] = @Original_user_email) AND ([user_login] = "& _ 
                "@Original_user_login) AND ([user_password] = @Original_user_password))"
            Me._adapter.DeleteCommand.CommandType = Global.System.Data.CommandType.Text
            Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_user_id", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "user_id", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_user_type_code", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "user_type_code", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_user_first_name", Global.System.Data.SqlDbType.[Char], 0, Global.System.Data.ParameterDirection.Input, 0, 0, "user_first_name", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_user_last_name", Global.System.Data.SqlDbType.[Char], 0, Global.System.Data.ParameterDirection.Input, 0, 0, "user_last_name", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_user_phone", Global.System.Data.SqlDbType.[Char], 0, Global.System.Data.ParameterDirection.Input, 0, 0, "user_phone", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_user_email", Global.System.Data.SqlDbType.[Char], 0, Global.System.Data.ParameterDirection.Input, 0, 0, "user_email", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_user_login", Global.System.Data.SqlDbType.[Char], 0, Global.System.Data.ParameterDirection.Input, 0, 0, "user_login", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_user_password", Global.System.Data.SqlDbType.[Char], 0, Global.System.Data.ParameterDirection.Input, 0, 0, "user_password", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 04.09.2011, 13:24   #4
Ramirag
Пользователь
 
Регистрация: 02.12.2009
Сообщений: 26
По умолчанию

Спасибо, раньше не мог ответить, тк был в деревне без инета. У меня ещё вот вопрос на эту тему. Вот допустим в БД есть поля Family, Name, Patronymic и Initials, который состовляется по сумме Family + первые символы Name и Patronymic. Как это сделать использую эту-же систему.
Ramirag вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выполнение запросов(Insert,Update) Rio309 C# (си шарп) 1 20.03.2011 17:10
Запрос UPDATE&INSERT&DELETE l0nley SQL, базы данных 5 17.07.2009 05:59
Delete и Update crit БД в Delphi 58 18.05.2009 20:49
insert и update Tanusha SQL, базы данных 4 13.03.2009 14:47
UPDATE и DELETE Дамир БД в Delphi 3 13.03.2007 01:44