使用VB.NET插入SQL Server影响数据时间字段的行
我正在尝试在SQL Server上的数据库中插入一行。我正在使用VB.NET和ADO.NET框架。 我希望影响的表的结构如下所示:使用VB.NET插入SQL Server影响数据时间字段的行,sql,sql-server,vb.net,ado.net,insert,Sql,Sql Server,Vb.net,Ado.net,Insert,我正在尝试在SQL Server上的数据库中插入一行。我正在使用VB.NET和ADO.NET框架。 我希望影响的表的结构如下所示: CREATE TABLE [dbo].[Users]( [UserName] [nvarchar](80) NOT NULL, [Description] [nvarchar](600) NULL, [IDCategory] [int] NULL, [RegistrationDate] [datetime] NOT NULL, [Categ
CREATE TABLE [dbo].[Users](
[UserName] [nvarchar](80) NOT NULL,
[Description] [nvarchar](600) NULL,
[IDCategory] [int] NULL,
[RegistrationDate] [datetime] NOT NULL,
[CategoryFlag] [bit] NULL,
[TypeFlag] [bit] NULL,
...
我已经用以下代码实现了这一点:
<WebMethod()> _
Sub insertElement()
Dim conn As SqlConnection
Dim sqlcmd As SqlCommand
Dim res As Integer
conn = New SqlConnection(Utilities.ConnectionString)
sqlcmd = New SqlClient.SqlCommand()
sqlcmd.Connection = conn
sqlcmd.CommandType = CommandType.Text
sqlcmd.CommandText = "insert into Users (UserName, RegistrationDate) values (@user, @date)"
Dim param As SqlParameter
param = New SqlParameter("@user", "myself")
sqlcmd.Parameters.Add(param)
param = New SqlParameter("@date", '2012/10/11 20:30:15')
sqlcmd.Parameters.Add(param)
Try
conn.Open()
res = sqlcmd.ExecuteNonQuery()
Catch ex As Exception
Finally
sqlcmd.Dispose()
conn.Close()
End Try
_
子插入元素()
Dim conn As SqlConnection
将sqlcmd设置为SqlCommand
Dim res作为整数
conn=新的SqlConnection(Utilities.ConnectionString)
sqlcmd=newsqlclient.SqlCommand()
sqlcmd.Connection=conn
sqlcmd.CommandType=CommandType.Text
sqlcmd.CommandText=“插入用户(用户名、注册日期)值(@user、@date)”
作为SqlParameter的Dim参数
param=新的SqlParameter(“@user”,“我自己”)
sqlcmd.Parameters.Add(param)
param=新的SqlParameter(“@date”,“2012/10/11 20:30:15”)
sqlcmd.Parameters.Add(param)
尝试
康涅狄格州公开赛
res=sqlcmd.ExecuteNonQuery()
特例
最后
sqlcmd.Dispose()
康涅狄格州关闭
结束尝试
Utilities.ConnectionString只是我创建的一个类,用于重新调整与数据库关联的ConnectionString
我曾尝试过这样做,但没有影响任何datatime文件,而且成功了。
但是使用上面的代码,在数据时间管理中可能存在错误,因为它不起作用。
有人能帮我吗?我看不出这一排是怎么回事
param = New SqlParameter("@date", '2012/10/11 20:30:15')
甚至编译,但我想它应该是
param = New SqlParameter("@date", CDate("2012/10/11 20:30:15", CultureInfo.InvariantCulture))
使用日期时间
值而不是字符串
我认为您只是通过使用一个空的catch
块来接受异常
尽管如此,最好使用
using
语句:
using conn = New SqlConnection(Utilities.ConnectionString), sqlcmd = New SqlClient.SqlCommand()
sqlcmd.Connection = conn
sqlcmd.CommandType = CommandType.Text
...
res = sqlcmd.ExecuteNonQuery()
End Using
它将自动关闭/处理您的连接等。那么,有什么问题吗。。。?发生了什么或没有发生什么?然后请编辑您的问题并添加该行。我的数据库中的表“用户”不受插入的影响。但是没有错误返回!有什么例外?删除
catch
块,然后发布错误消息。我解决了问题:与外键约束有关。所以上面的代码是正确的@BigYellowCactus我现在不知道为什么,但它甚至使用以下语句工作:param=New-SqlParameter(“@date”,“2012/10/11 20:30:15”)