1
在sqlite3数据库中插入时出现错误'由于约束违反列转移不唯一'而中止。这里是我的代码,有人可以帮我吗?在sqlite3数据库中插入参数时在vb.net中出错
Public Connection As SQLiteConnection
Public Function Getconnection() As SQLiteConnection
Connection = New SQLiteConnection
Connection.ConnectionString = "Data Source=" + Application.StartupPath + "\POS.s3db; Version=3;"
Connection.Open()
GetConnection = Connection
End Function
Using cmd As New SQLiteCommand(strSQL,Connection)
cmd.CommandType = CommandType.Text
strSQL = "insert into tbltrans2 (transid,itemcode,flddate,itemname,qty,price,total,btw,btwper) values ('@tid',@itemcode,'@date','@itemname','@qty','@price','@total','@btw',@btwper)"
cmd.Parameters.AddWithValue("tid", txtTransId.Text)
cmd.Parameters.AddWithValue("date", txtDate.Text)
''this is temp
For Each ls As ListViewItem In ListItems.Items
cmd.Parameters.AddWithValue("itemcode", ls.Tag)
cmd.Parameters.AddWithValue("itemname", ls.SubItems(0).Text)
cmd.Parameters.AddWithValue("qty", ls.SubItems(1).Text)
cmd.Parameters.AddWithValue("price", ls.SubItems(2).Text)
cmd.Parameters.AddWithValue("total", ls.SubItems(3).Text)
cmd.Parameters.AddWithValue("btw", (Double.Parse(ls.SubItems(5).Text)/100) * (Double.Parse(ls.SubItems(3).Text)).ToString("#,##0.00"))
cmd.Parameters.AddWithValue("btwper", Double.Parse(ls.SubItems(5).Text))
cmd.ExecuteNonQuery()
Next ls
End Using
但在我的数据库中,transid不是唯一的字段。 –
错误消息表明它有一个唯一的约束。仔细检查你的数据库定义? – Andomar
我尝试制作新表,但仍然没有运气 –