【问题标题】:Error in vb.net with paramaters while inserting in sqlite3 database插入 sqlite3 数据库时带有参数的 vb.net 出错
【发布时间】:2012-11-25 10:56:33
【问题描述】:

插入 sqlite3 数据库时出现错误“由于违反约束列 transid 不唯一而中止”。这是我的代码,有人可以帮我吗?

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

【问题讨论】:

    标签: sql vb.net visual-studio-2010 sqlite


    【解决方案1】:

    看起来transid 上有一个unique 约束。这意味着您不能插入表中已存在的 transid 行。

    尝试输入不同的transid,或将transid 设置为auto-increment column,这样您就不必输入了。

    【讨论】:

    • 错误信息说它有一个唯一的约束。仔细检查您的数据库定义?
    猜你喜欢
    • 2011-12-21
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    • 2016-08-23
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多