Hi guys...
if me clicked bug.
and click "simpan" = save button
show error detail
{"ExecuteNonQuery requires the command to have a transaction when the connection assigned to the command is in a pending local transaction. The Transaction property of the command has not been initialized."}
this is my vb code
Imports System.Data
Imports System.Configuration
Imports System.Data.SqlClient
Public Class SuratPengajuanPembelianCopy2
Inherits System.Web.UI.Page
Dim sCommand As SqlCommand
Dim sAdapter As SqlDataAdapter
Dim sBuilder As SqlCommandBuilder
Dim sDs As DataSet
Dim sTable As DataTable
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim connectionString As String = "Data Source=GUSTIAN-PC;Initial Catalog=Cosmo;Integrated Security=True"
If Not Me.IsPostBack Then
Dim LblKodeBarang As New TemplateField()
LblKodeBarang.HeaderText = "Kode Barang"
GridView1.Columns.Add(LblKodeBarang)
Dim LblNamaBarang As New TemplateField()
LblNamaBarang.HeaderText = "Nama Barang"
GridView1.Columns.Add(LblNamaBarang)
Dim LblKuantias As New TemplateField()
LblKuantias.HeaderText = "Kuantitas"
GridView1.Columns.Add(LblKuantias)
Dim LblSatuan As New TemplateField()
LblSatuan.HeaderText = "Satuan"
GridView1.Columns.Add(LblSatuan)
Dim LblKeterangan As New TemplateField()
LblKeterangan.HeaderText = "Keterangan"
GridView1.Columns.Add(LblKeterangan)
End If
Me.BindGrid()
End Sub
Private Sub BindGrid()
Dim dt As New DataTable()
dt.Columns.AddRange(New DataColumn(5) {New DataColumn("Id", GetType(Integer)), New DataColumn("KodeBarang", GetType(String)), New DataColumn("NamaBarang", GetType(String)), New DataColumn("Kuantitas", GetType(String)), New DataColumn("Satuan", GetType(String)), New DataColumn("Keterangan", GetType(String))})
dt.Rows.Add(1, "", "", "", "", "")
dt.Rows.Add(2, "", "", "", "", "")
dt.Rows.Add(3, "", "", "", "", "")
dt.Rows.Add(4, "", "", "", "", "")
dt.Rows.Add(5, "", "", "", "", "")
dt.Rows.Add(6, "", "", "", "", "")
dt.Rows.Add(7, "", "", "", "", "")
dt.Rows.Add(8, "", "", "", "", "")
dt.Rows.Add(9, "", "", "", "", "")
dt.Rows.Add(10, "", "", "", "", "")
dt.Rows.Add(11, "", "", "", "", "")
dt.Rows.Add(12, "", "", "", "", "")
GridView1.DataSource = dt
GridView1.DataBind()
End Sub
Protected Sub OnRowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
Dim TxtKodeBarang As New TextBox()
TxtKodeBarang.ID = "TxtKodeBarang"
TxtKodeBarang.Text = TryCast(e.Row.DataItem, DataRowView).Row("KodeBarang").ToString()
e.Row.Cells(0).Controls.Add(TxtKodeBarang)
Dim TxtNamaBarang As New TextBox()
TxtNamaBarang.ID = "TxtNamaBarang"
TxtNamaBarang.Text = TryCast(e.Row.DataItem, DataRowView).Row("NamaBarang").ToString()
e.Row.Cells(1).Controls.Add(TxtNamaBarang)
Dim TxtKuantitas As New TextBox()
TxtKuantitas.ID = "TxtKuantitas"
TxtKuantitas.Text = TryCast(e.Row.DataItem, DataRowView).Row("Kuantitas").ToString()
e.Row.Cells(2).Controls.Add(TxtKuantitas)
Dim TxtSatuan As New TextBox()
TxtSatuan.ID = "TxtSatuan"
TxtSatuan.Text = TryCast(e.Row.DataItem, DataRowView).Row("Satuan").ToString()
e.Row.Cells(3).Controls.Add(TxtSatuan)
Dim TxtKeterangan As New TextBox()
TxtKeterangan.ID = "TxtKeterangan"
TxtKeterangan.Text = TryCast(e.Row.DataItem, DataRowView).Row("Keterangan").ToString()
e.Row.Cells(4).Controls.Add(TxtKeterangan)
End If
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
Using connection As New SqlConnection(constr)
Dim cmdText As String = "INSERT INTO TSPPInput (KodeSPP, TanggalSPP, NamaDivisi, KodeBarang, NamaBarang, Kuantitas, Satuan, Keterangan) VALUES (@KodeSPP, @TanggalSPP, @NamaDivisi, @KodeBarang, @NamaBarang, @Kuantitas, @Satuan, @Keterangan)"
Dim command As New SqlCommand(cmdText, connection)
command.Parameters.AddWithValue("@KodeSPP", SqlDbType.VarChar)
command.Parameters.AddWithValue("@TanggalSPP", SqlDbType.Date)
command.Parameters.AddWithValue("@NamaDivisi", SqlDbType.VarChar)
command.Parameters.AddWithValue("@KodeBarang", SqlDbType.VarChar)
command.Parameters.AddWithValue("@NamaBarang", SqlDbType.VarChar)
command.Parameters.AddWithValue("@Kuantitas", SqlDbType.Real)
command.Parameters.AddWithValue("@Satuan", SqlDbType.VarChar)
command.Parameters.AddWithValue("@Keterangan", SqlDbType.Text)
connection.Open()
Dim transaction As SqlTransaction = connection.BeginTransaction()
For i As Integer = 0 To GridView1.Rows.Count - 2
command.Parameters("@KodeSPP").Value = TxtKodeSPP.Text
command.Parameters("@TanggalSPP").Value = TxtTanggalSPP.Text
command.Parameters("@NamaDivisi").Value = DropDownDivisi.Text
command.Parameters("@KodeBarang").Value = GridView1.Rows(i).Cells(0)
command.Parameters("@NamaBarang").Value = GridView1.Rows(i).Cells(1)
command.Parameters("@Kuantitas").Value = GridView1.Rows(i).Cells(2)
command.Parameters("@Satuan").Value = GridView1.Rows(i).Cells(3)
command.Parameters("@Keterangan").Value = GridView1.Rows(i).Cells(4)
command.ExecuteNonQuery()
Next i
connection.Close()
End Using
End Sub
End Class
please help me. TQ