好的,所以我试图将一些字符串变量从经典的ASP页面传递到MSSQL2000 db:
strSQL = "exec UpdateEvent " & xID & ",'" & xEventID & "'," & xEventDisplayName & "," & xEventType & "," & xEventStatus & "," & xStartDate & "," & xEndDate & "," & xSurveyTemplateID & ""
Run Code Online (Sandbox Code Playgroud)
然而我最终得到了错误(包括写出strSQL内容):
exec UpdateEvent 1,'1-44KTDL',,,,,,
Microsoft OLE DB Provider for SQL Server错误'80040e14'
第1行:','附近的语法不正确.
/eventedit.asp,第225行
现在我不确定是否是EventID变量中的破折号导致我的问题(或者当有数据时,为什么所有其他变量都会出现空值...).我已经尝试了许多引号和抽搐的组合来安抚语法解释器,但无济于事.我究竟做错了什么?有没有更好的方法来执行这个简单的存储过程调用?
我试图强制用户在添加记录时只选择某些值.所以我自然而然地使用了一个下拉菜单,但我希望这些选项可以填充数据库中的特定字段.我想我会做一个Do/Loop但我显然做错了什么.
Dim dstrSQL
Dim drs
dstrSQL = "SELECT EventID FROM Events"
set conn2 = CreateObject("ADODB.Connection")
conn2.open CONN_STRING
set drs = conn2.execute(dstrSQL)
conn2.close: set conn2 = nothing
Do
Response.Write "<option value=" & drs.Fields(0) & " >" & drs.Fields(0) & "</option>"
drs.MoveNext
Loop
Run Code Online (Sandbox Code Playgroud) 在使用分区设置创建父/子表方案后遇到创建外键的问题.
CREATE TABLE [dbo].[MessageHeader]
([MessageHeaderID] [int] IDENTITY(1,1) NOT NULL,
[MessageHeaderGlobalId] [uniqueidentifier] NULL,
[CreatedDateTime] [datetime] NOT NULL
)
GO
ALTER TABLE [dbo].[MessageHeader]
ADD CONSTRAINT [PC_MessageHeader_CreatedDateTime_1]
PRIMARY KEY CLUSTERED ([MessageHeaderID], [CreatedDateTime] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = OFF)
ON [PS_Monthly] ([CreatedDatetime])
CREATE TABLE [dbo].[MessageDataInfo]
([MessageDataInfoID] [int] IDENTITY(1,1) NOT NULL,
[MessageHeaderID] [int] NOT NULL,
[CreatedDateTime] [datetime] NOT NULL)
GO
ALTER TABLE [dbo].[MessageDataInfo]
ADD CONSTRAINT [PC__CreatedDateTime_1]
PRIMARY KEY CLUSTERED ([MessageDataInfoID], [CreatedDateTime])
WITH (PAD_INDEX = …Run Code Online (Sandbox Code Playgroud)