Drw("GCCODE")="200302020001"
Drw("Year")="2003"
Drw("Sequence")=1
Drw("GroupID")=1 Dim MyConnection As SqlConnection = New SqlConnection("server=(Local);database=TimeManager;Trusted_Connection=yes")
Dim MyCommand As SqlCommand = New SqlCommand("",MyConnection)
MyCommand.CommandType=CommandType.Text
MyCommand.CommandText=""
MyCommand.Connection.Open() Try
MyCommand.ExecuteNonQuery()
Message.InnerHtml=""
catch Exp As SQLException
if Exp.Number=2627
Message.InnerHtml="Can't Input the same key!"
else
Message.InnerHtml="no 2627"
end if
Message.Style("color")="red"
End Try
MyCommand.Connection.Close()
MyConnection.Close()
Drw("Year")="2003"
Drw("Sequence")=1
Drw("GroupID")=1 Dim MyConnection As SqlConnection = New SqlConnection("server=(Local);database=TimeManager;Trusted_Connection=yes")
Dim MyCommand As SqlCommand = New SqlCommand("",MyConnection)
MyCommand.CommandType=CommandType.Text
MyCommand.CommandText=""
MyCommand.Connection.Open() Try
MyCommand.ExecuteNonQuery()
Message.InnerHtml=""
catch Exp As SQLException
if Exp.Number=2627
Message.InnerHtml="Can't Input the same key!"
else
Message.InnerHtml="no 2627"
end if
Message.Style("color")="red"
End Try
MyCommand.Connection.Close()
MyConnection.Close()
发错了
你检查一下字段的类型,如果是字符型一定要用引号包起来
下面的代码是以前的
Dim MyCommand As SqlCommand = New SqlCommand("",MyConnection)
MyCommand.CommandType=CommandType.Text
MyCommand.CommandText=""
--〉
Dim MyCommand As SqlCommand = New SqlCommand("",MyConnection)
MyCommand.CommandType=CommandType.Text
MyCommand.CommandText=你的插入记录的Sql串
Name Null? Type
------------------------------- -------- ----
GCCODE NOT NULL NUMBER(12)
YEAR NOT NULL NUMBER(4)
GROUPID NOT NULL NUMBER(2)
SEQUENCE NOT NULL NUMBER(4)
Sub BtnOK_Click(sender As Object,Ev As EventArgs)
Dim Cnn as OleDbConnection=new OleDbConnection(DataConnectionString)
Dim Da As OleDBDataAdapter=New OleDbDataAdapter("select * from assetPlan",Cnn)
Da.InsertCommand=New OleDbCommand("Insert into AssetPlan(GCCODE,Year,GroupID,Sequence) values(?,?,?,?)",Cnn)
Da.InsertCommand.Parameters.Add(@GCCODE,OleDbType.Integer,12,"GCCODE")
Da.InsertCommand.Parameters.Add(@Year,OleDbType.Integer,12,"Year")
Da.InsertCommand.Parameters.Add(@GroupID,OleDbType.Integer,2,"GroupID")
Da.InsertCommand.Parameters.Add(@Sequence,OleDbType,Integer,4,"Sequence")
Dim Ds As New DataSet
Da.Fill(Ds,"assetPlan")
Dim Drw As DataRow=Ds.Tables(0).NewRow
Drw("GCCODE")=200302020001
Drw("Year")=2003
Drw("Sequence")=1
Drw("GroupID")=1
Ds.Tables(0).Rows.Add(Drw)
Da.Update(Ds,"assetPlan")
Ds.AcceptChanges()
End Sub
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: BC30037: 字符无效。源错误: 行 73: Dim Da As OleDBDataAdapter=New OleDbDataAdapter("select * from assetPlan",Cnn)
行 74: Da.InsertCommand=New OleDbCommand("Insert into AssetPlan(GCCODE,Year,GroupID,Sequence) values(?,?,?,?)",Cnn)
行 75: Da.InsertCommand.Parameters.Add(@GCCODE,OleDbType.Integer,12,"GCCODE")
行 76: Da.InsertCommand.Parameters.Add(@Year,OleDbType.Integer,12,"Year")
行 77: Da.InsertCommand.Parameters.Add(@GroupID,OleDbType.Integer,2,"GroupID")
源文件: c:\inetpub\wwwroot\Gis\asset\startPlan.aspx 行: 75 显示详细的编译器输出:
C:\WINNT\system32> "c:\winnt\microsoft.net\framework\v1.0.3705\vbc.exe" /t:library /utf8output /R:"c:\winnt\assembly\gac\system.xml\1.0.3300.0__b77a5c561934e089\system.xml.dll" /R:"c:\winnt\assembly\gac\system.data\1.0.3300.0__b77a5c561934e089\system.data.dll" /R:"c:\winnt\assembly\gac\system.web\1.0.3300.0__b03f5f7f11d50a3a\system.web.dll" /R:"c:\winnt\assembly\gac\system\1.0.3300.0__b77a5c561934e089\system.dll" /R:"c:\winnt\assembly\gac\system.web.services\1.0.3300.0__b03f5f7f11d50a3a\system.web.services.dll" /R:"c:\winnt\assembly\gac\system.enterpriseservices\1.0.3300.0__b03f5f7f11d50a3a\system.enterpriseservices.dll" /R:"c:\winnt\assembly\gac\system.drawing\1.0.3300.0__b03f5f7f11d50a3a\system.drawing.dll" /out:"C:\WINNT\Microsoft.NET\Framework\v1.0.3705\Temporary ASP.NET Files\root\050a1654\638a5594\if1pqc6z.dll" /D:DEBUG=1 /debug+ "C:\WINNT\Microsoft.NET\Framework\v1.0.3705\Temporary ASP.NET Files\root\050a1654\638a5594\if1pqc6z.0.vb"
Microsoft (R) Visual Basic .NET 编译器版本 7.00.9466
用于 Microsoft (R) .NET 框架版本 1.00.3705
版权所有 (C) Microsoft Corporation 1987-2001。保留所有权利。c:\inetpub\wwwroot\Gis\asset\startPlan.aspx(75) : error BC30037: 字符无效。 Da.InsertCommand.Parameters.Add(@GCCODE,OleDbType.Integer,12,"GCCODE")
~
c:\inetpub\wwwroot\Gis\asset\startPlan.aspx(76) : error BC30037: 字符无效。
YEAR 和 SEQUENCE 都是SQL 的保留字段
建议用 [YEAR] [SEQUENCE] 试试Sub BtnOK_Click(sender As Object,Ev As EventArgs)
Dim Cnn as OleDbConnection=new OleDbConnection(DataConnectionString)
Dim Da As OleDBDataAdapter=New OleDbDataAdapter("select * from assetPlan",Cnn)
Da.InsertCommand=New OleDbCommand("Insert into AssetPlan(GCCODE,[Year],GroupID,[Sequence]) values(?,?,?,?)",Cnn)
Da.InsertCommand.Parameters.Add(@GCCODE,OleDbType.Integer,12,"GCCODE")
Da.InsertCommand.Parameters.Add(@Year,OleDbType.Integer,12,"[Year]")
Da.InsertCommand.Parameters.Add(@GroupID,OleDbType.Integer,2,"GroupID")
Da.InsertCommand.Parameters.Add(@Sequence,OleDbType,Integer,4,"[Sequence]")
Dim Ds As New DataSet
Da.Fill(Ds,"assetPlan")
Dim Drw As DataRow=Ds.Tables(0).NewRow
Drw("GCCODE")=200302020001
Drw("[Year]")=2003
Drw("[Sequence]")=1
Drw("GroupID")=1
Ds.Tables(0).Rows.Add(Drw)
Da.Update(Ds,"assetPlan")
Ds.AcceptChanges()
End Sub