Deleting row from datagrid failing

G

Guest

I am having a "not all variables bound" issue when trying to delete a row
from a datagrid.

I have a datagrid populated with data from a oracle table as follows:

da = New OracleDataAdapter("SELECT a.inst, a.group, a.privs,
b.field FROM table a, table b WHERE.......

da.Fill(ds, "TW_GROUP_PRIVS")
da.datamember = "TW_GROUP_PRIVS")


I have the insert and update statements working correctly, they are as
follows:

Dim cmd As New OracleCommand("UPDATE TW_GROUP_PRIVS SET group =
:blush:riginal_group, inst = :Original_inst, privs = :privs WHERE inst =
:blush:riginal_inst AND group = :blush:riginal_group")

cmd.Parameters.Add(New OracleParameter(":blush:riginal_group",
OracleType.VarChar, 30, "GROUP"))
cmd.Parameters.Add(New OracleParameter(":blush:riginal_inst",
OracleType.VarChar, 10, "Inst"))
cmd.Parameters.Add(New OracleParameter(":pRIVS",
OracleType.VarChar, 37, "PRIVS"))
cmd.Parameters.Add(New OracleParameter(":ORIGINAL_DESCRIPTION",
OracleType.VarChar, 100, "DESCRIPTION"))


Dim cmd2 As New OracleCommand("INSERT INTO TW_GROUP_PRIVS
(group, inst, privs, description)
VALUES :)group_name, :institution_id, :privs, :field)")

cmd2.Parameters.Add(New OracleParameter(":group",
OracleType.VarChar, 30, "GROUP"))
cmd2.Parameters.Add(New OracleParameter(":inst",
OracleType.VarChar, 10, "Inst"))
cmd2.Parameters.Add(New OracleParameter(":pRIVS",
OracleType.VarChar, 37, "PRIVS"))
cmd2.Parameters.Add(New OracleParameter(":field",
OracleType.VarChar, 100, "field"))

cmd.Connection = Conn
cmd2.Connection = Conn
da.UpdateCommand = cmd
da.InsertCommand = cmd2
Conn.Open()
da.Update(ds, "TW_GROUP_PRIVS")

I am running into issues with the delete portion of the code.

First, I remove the row from the datagrid:
if (Me.BindingContext(ds, "TW_GROUP_PRIVS").Count > 0) Then
Me.BindingContext(ds,
"TW_GROUP_PRIVS").RemoveAt(Me.BindingContext(ds, "TW_GROUP_PRIVS").Position)
end if

Now I want to delete the row from the source table:

'Dim cmd3 As New OracleCommand("DELETE FROM TW_GROUP_PRIVS WHERE
inst = :blush:riginal_inst" _
&" AND group = :blush:riginal_group AND privs = :blush:riginal_privs and
description = :blush:riginal_field")

cmd3.Parameters.Add(New OracleParameter(":Original_group",
OracleType.VarChar, 30, "GROUP"))
cmd3.Parameters.Add(New OracleParameter(":Original_inst",
OracleType.VarChar, 10, "Inst"))
cmd3.Parameters.Add(New OracleParameter(":Original_PRIVS",
OracleType.VarChar, 37, "PRIVS"))
cmd3.Parameters.Add(New OracleParameter(":Original_field",
OracleType.VarChar, 100, "field"))

cmd3.Connection = Conn
da.DeleteCommand = cmd3
Conn.Open()
da.Update(ds, "TW_GROUP_PRIVS") <---- ERROR LINE

Getting the error on the final line here. The error being "ORA-010008: Not
all variable bound"

Any ideas on why this is failing?

Thanks in advance.
 
G

Guest

Thanks Cor!!

That got me on the right track!


Cor Ligthert said:
Ksedran,

The answer is simple.

The removeat, removes a datarow completly from a dataset.
http://msdn.microsoft.com/library/d...datadatatablecollectionclassremoveattopic.asp

The delete set the rowstate from a datarow to deleted.
http://msdn.microsoft.com/library/d...ml/frlrfsystemdatadatarowclassdeletetopic.asp


In the first situation there is nothing to delete in the database.

(You are not the first one)

I hope this helps

Cor
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top