Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Самый простой способ работы с БД Добавлено: 30.09.07 22:00  

Автор вопроса:  Виктор | Web-сайт: uproshenka.tamb.ru
Только недавно приступил к .NET, поэтому дело пока движется медленно. Примеров в инете мало. Помогите примером работы с mdb, но нужен самый простой способ. Например с открытием я разобрался:
        Dim ConString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\K_n_g.mdb"
        Dim ConSQL As String = "select * from opr"
        Dim Data As New DataSet
        Dim dat1 As String
        Dim dat2 As String

        If IsDate(Mtb1.Text) = False Or IsDate(Mtb2.Text) = False Then
            MsgBox("Дата введена неверно!")
            Exit Sub
        End If

        dat1 = Mid(Mtb1.Text, 7, 4) & "/" & Mid(Mtb1.Text, 4, 2) & "/" & Mid(Mtb1.Text, 1, 2)
        dat2 = Mid(Mtb2.Text, 7, 4) & "/" & Mid(Mtb2.Text, 4, 2) & "/" & Mid(Mtb2.Text, 1, 2)

        ConSQL = "SELECT * FROM opr WHERE [Дата] BETWEEN #" & dat1 & "# AND #" & dat2 & "# ORDER BY [Дата]"
        Dim Adapter As New OleDb.OleDbDataAdapter(ConSQL, ConString)

        Adapter.Fill(Data, "opr")
        DataGridView1.DataSource = Data
        DataGridView1.DataMember = "opr"

Как подобным способом добавить запись, изменить и удалить запись?

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 ZeroX



ICQ: 220401330 

Вопросов: 47
Ответов: 406
 Профиль | | #1 Добавлено: 30.09.07 22:25
Friend Sub Add(ByVal ParamArray Values() As Object)
        conn = New OleDbConnection(Globals.CONN_STR)
        conn.Open()
        Try
            cmd = conn.CreateCommand
            trans = conn.BeginTransaction(IsolationLevel.ReadCommitted)
            cmd.Connection = conn
            cmd.Transaction = trans
            Select Case _getdata
                Case ReceviedDataType.Ware
                    cmd.CommandText = "INSERT INTO Ware (wname,amount,wunit,wprice,wcost,wcategory, wnote,wcode) VALUES (?,?,?,?,?,?,?,?)"
                    cmd.Parameters.Add("wname", OleDbType.VarChar).Value = Values(0)
                    cmd.Parameters.Add("amount", OleDbType.Double).Value = Values(1)
                    cmd.Parameters.Add("wunit", OleDbType.VarChar).Value = Values(2)
                    cmd.Parameters.Add("wprice", OleDbType.Double).Value = Values(3)
                    cmd.Parameters.Add("wcost", OleDbType.Double).Value = Values(4)
                    cmd.Parameters.Add("wcategory", OleDbType.VarChar).Value = Values(5)
                    cmd.Parameters.Add("wnote", OleDbType.LongVarChar).Value = Values(6)
                    cmd.Parameters.Add("wcode", OleDbType.LongVarChar).Value = Values(7)
                    cmd.ExecuteNonQuery()
                Case ReceviedDataType.Categories
                    cmd.CommandText = "INSERT INTO Categories (cname,cnote,ccode) VALUES (?,?,?)"
                    cmd.Parameters.Add("cname", OleDbType.VarChar).Value = Values(0)
                    cmd.Parameters.Add("cnote", OleDbType.LongVarChar).Value = Values(1)
                    cmd.Parameters.Add("ccode", OleDbType.VarChar).Value = Values(2)
                    cmd.ExecuteNonQuery()
                Case ReceviedDataType.Dishes
                    cmd.CommandText = "INSERT INTO Dishes (dname,dprice,dcost,dcreated,dimage,dcategory,dcode) VALUES (?,?,?,?,?,?,?)"
                    cmd.Parameters.Add("dname", OleDbType.VarChar).Value = Values(0)
                    cmd.Parameters.Add("dprice", OleDbType.Double).Value = Values(1)
                    cmd.Parameters.Add("dcost", OleDbType.Double).Value = Values(2)
                    cmd.Parameters.Add("dcreated", OleDbType.DBTimeStamp).Value = Values(3)
                    If Values(4) Is Nothing Then
                        cmd.Parameters.Add("dimage", OleDbType.Binary).Value = DBNull.Value
                    Else
                        cmd.Parameters.Add("dimage", OleDbType.Binary).Value = Values(4)
                    End If
                    cmd.Parameters.Add("dcategory", OleDbType.VarChar).Value = Values(5)
                    cmd.Parameters.Add("dcode", OleDbType.VarChar).Value = Values(6)
                    cmd.ExecuteNonQuery()
                Case ReceviedDataType.Components
                    cmd.CommandText = String.Format("INSERT INTO {0} (mname,mamount,munit,mprice,mwcode) VALUES (?,?,?,?,?)", Values(0))
                    cmd.Parameters.Add("mname", OleDbType.VarChar).Value = Values(1)
                    cmd.Parameters.Add("mamount", OleDbType.Double).Value = Values(2)
                    cmd.Parameters.Add("munit", OleDbType.VarChar).Value = Values(3)
                    cmd.Parameters.Add("mprice", OleDbType.Double).Value = Values(4)
                    cmd.Parameters.Add("mwcode", OleDbType.VarChar).Value = Values(5)
                    cmd.ExecuteNonQuery()
                Case ReceviedDataType.Charge
                    cmd.CommandText = String.Format("INSERT INTO Charge (hname,hamount,hunit,hprice,hcost,hcategory,hnote,hcharge,hdate) SELECT Ware.wname,{0},Ware.wunit,Ware.wprice,Ware.wcost,Ware.wcategory,Ware.wnote,'{1}',DATEVALUE('{2}') FROM Ware WHERE Ware.id={3}", Values(0), Values(1), Values(2), Values(3))
                    cmd.ExecuteNonQuery()
            End Select
            trans.Commit()
        Catch ex As Exception
            trans.Rollback()
            If ex.GetType Is GetType(OleDbException) Then
                Dim dex As OleDbException = CType(ex, OleDbException)
                If dex.ErrorCode = -2147467259 Then
                    MessageBox.Show("Такой код уще существует.", "Добавление", MessageBoxButtons.OK, MessageBoxIcon.Warning)
                End If
            Else
                MessageBox.Show(ex.Message, "Добавление", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End If
            _exception = True
        Finally
            conn.Close()
        End Try
    End Sub



Вот код добавления, взял из одного своих проектов
Удаление по аналогии

Ответить

Номер ответа: 2
Автор ответа:
 s12



Вопросов: 24
Ответов: 363
 Профиль | | #2 Добавлено: 18.10.07 13:11
посмотри здесь:

http://www.vbnet.ru/forum/show.aspx?id=138399

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам