我正在尝试创建Windows窗体应用程序,这是我第一次在Visual Basic中构建应用程序。我对在Visual Studio中开发网站非常熟悉,但似乎数据库连接的工作方式有很大不同......
我正在尝试构建一个简单的数据输入表单,用户可以在其中保存输入,这将运行插入查询以将字段插入数据库表。首先,我开始在SQL Server管理工作室中创建一个新数据库。我创建这个数据库的方式与我对Web应用程序完全相同(只是给它一个名字并接受所有其他默认设置)来创建新数据库。但是,我无法弄清楚如何从Visual Basic 2010连接到此实例。当我尝试添加新连接时,我选择Microsoft Sql Server数据库文件(SqlClient)。但是当我浏览我的数据库文件时,我最终得到了一个Access被拒绝的错误。我搞砸了一点并做了一些研究,但没有任何工作,我已经运行Visual Basic作为管理员。
我尝试的第二件事似乎更接近工作,我去添加新项目并在我的项目中添加了一个基于服务的数据库,并通过Visual Basics Database Explorer配置了表格。就构建表格而言,这正确配置了我的数据库。现在,在配置DataSet和表适配器并将填充和插入查询添加到表适配器后,我尝试调用我的插入查询(在向导中配置),查询获取参数的正确值但是当我尝试查看时通过Database Explorer的表没有任何行添加到表中,它是空白的。
这是在TableAdapter查询配置向导中配置的插入查询...
INSERT INTO DispatchType
(NonEmergency, Emergency, NormalCall, WaitReturn, GWWheelchair, PatientWheelchair, Stretcher, ChiefComplaint)
VALUES (@NonEmergency,@Emergency,@NormalCall,@WaitReturn,@GWWheelchair,@PatientWheelchair,@Stretcher,@ChiefComplaint)
以下是我如何调用插入查询...
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim conn As New SqlClient.SqlConnection
conn.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Office-Admin\documents\visual studio 2010\Projects\Dispatch\Dispatch\Dispatch.mdf;Integrated Security=True;User Instance=True"
conn.Open()
Me.DispatchTypeTableAdapter.InsertQuery(RadioButton4.Checked, RadioButton5.Checked, RadioButton7.Checked, RadioButton6.Checked, RadioButton16.Checked, RadioButton15.Checked, RadioButton17.Checked, TextBox1.Text)
conn.Close()
End Sub
我首先尝试了它,但没有添加sql连接字符串以及打开和关闭,但即使这样,它也没有错误地运行,但我没有看到值在任何地方添加到表中。
所以我需要帮助如何使用我的Windows窗体应用程序正确配置sql server数据库,以便多个用户能够在多台PC上运行应用程序,并且所有数据都存储在一个本地数据库中。我无法弄清楚我做错了什么,但我显然没有正确配置。非常感谢任何帮助。
答案 0 :(得分:0)
问题不在于您的SQL服务器的配置,而是您从未真正执行过SQL语句。
而不是:
Me.DispatchTypeTableAdapter.InsertQuery(RadioButton4.Checked, RadioButton5.Checked, RadioButton7.Checked, RadioButton6.Checked, RadioButton16.Checked, RadioButton15.Checked, RadioButton17.Checked, TextBox1.Text)
做这样的事情:
Dim command as new sqlcommand(conn)
command.queryText = "INSERT INTO DispatchType NonEmergency, Emergency, NormalCall, WaitReturn, GWWheelchair, PatientWheelchair, Stretcher, ChiefComplaint) VALUES (@NonEmergency,@Emergency, @NormalCall,@WaitReturn,@GWWheelchair,@PatientWheelchair,@Stretcher,@ChiefComplaint)"
command.parameters.addWithValue("@NonEmergency", RadioButton4.Checked) 'Repeat for each parameter
command.executeNonQuery