【问题标题】:sql insert not working vb.net 2012sql插入不起作用vb.net 2012
【发布时间】:2016-03-09 15:19:12
【问题描述】:

我正在尽力将记录插入数据库。我没有添加记录,也没有显示一些错误。请帮我。我在 Visual Studio 2012 中使用 localdb。

Imports System.Data.SqlClient
Imports System.Data

Public Class tax_configure

    Private Sub tax_configure_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        With tax_on_combo
            .SelectedIndex = 0
        End With
    End Sub

    Private Sub add_tax_cata_Click(sender As Object, e As EventArgs) Handles add_tax_cata.Click
        Dim con As New SqlConnection
        Dim com As New SqlCommand
        Try
            con.ConnectionString = "Data Source=(LocalDB)\v11.0;AttachDbFilename=E:\My VB projects\Test App\Test App\bin\Debug\test_db.mdf;Integrated Security=True;Connect Timeout=30"
            con.Open()
            com.Connection = con
            com.CommandText = "INSERT INTO [dbo].[tax_details] ([tax_catagory], [tax_rate], [ed_cess_rate], [s_ed_cess_rate], [tax_on]) VALUES (@tax_catagory, @tax_rate, @ed_cess_rate, @s_ed_cess_rate, @tax_on)"
            com.Parameters.Add(New SqlParameter("@tax_catagory", tax_cata_name.Text))
            com.Parameters.Add(New SqlParameter("@tax_rate", Val(tax_rate_txt.Text)))
            com.Parameters.Add(New SqlParameter("@ed_cess_rate", Val(Ecess_rate_txt.Text)))
            com.Parameters.Add(New SqlParameter("@s_ed_cess_rate", Val(SEcess_rate_txt.Text)))
            com.Parameters.Add(New SqlParameter("@tax_on", tax_on_combo.SelectedText))
            com.ExecuteNonQuery()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
            con.Close()
        End Try


    End Sub
End Class

【问题讨论】:

  • 如果您懒得告诉我们“一些错误”是什么,我们可以猜测解决方案吗?你不应该使用Val 它只会返回 Double 可能与数据库中的类型不匹配,如果用户输入“我喜欢馅饼”作为税率,它也会严重崩溃
  • 您是在问我们如何阅读错误信息吗?就像阅读其他任何东西一样。你看它,将字符组合成单词,将单词组合成语句,等等。
  • 另外,您正在尝试向没有任何参数的查询添加参数。
  • 帖子说it shows some error - 是否有错误消息?
  • 如果这段代码没有引发任何异常(这里有很多异常的可能性)然后开始获取 ExecuteNonQuery 值的结果。如果此结果为 1,则您的记录已插入连接字符串指向的数据库中。检查您的项目文件中是否有它的主(空)副本,并且该副本没有将属性复制到输出目录设置为始终复制

标签: vb.net sql-insert sql-server-2012-localdb


【解决方案1】:

CommandText 没有与您添加的参数名称匹配的参数。相反,你已经硬编码了

VALUES ('Ana', '2', '2', '2', 'Both' )

请尝试:

VALUES (@tax_catagory, @tax_rate, @ed_cess_rate, @s_ed_cess_rate, @tax_on)

【讨论】:

  • 谢谢史蒂夫。我以前试过这个。然后它也没有工作。你认为我的代码中有一些语法错误吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-10
  • 2016-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多