สอบถามเรื่อง การใช้ SQL กับ Informix
หน้า 1 จาก 1
สอบถามเรื่อง การใช้ SQL กับ Informix
ขอความช่วยเหลือหน่อยค่ะ
ปกติใช้ SQL command นี้ กับ MSSQL
//////////////////////////////////////////////////////////////////////////////////////////
SET QUOTED_IDENTIFIER OFF
USE CustomerDB
DECLARE @StartDateString varchar(10)
DECLARE @EndDateString varchar(10)
DECLARE @StartTimeString varchar(30)
DECLARE @EndTimeString varchar(30)
DECLARE @StartDateTimeString varchar(30)
DECLARE @EndDateTimeString varchar(30)
DECLARE @TeamName varchar(30)
SET @StartDateString = CONVERT(VARCHAR(10), {?DateStart}, 0121)
SET @EndDateString = CONVERT(VARCHAR(10), {?DateEnd}, 0121)
SET @StartTimeString =right(convert(varchar(30),{?DateStart},121),12)
SET @EndTimeString =right(convert(varchar(30),{?DateEnd},121),12)
SET @StartDateTimeString = @StartDateString + ' ' + @StartTimeString
SET @EndDateTimeString = @EndDateString + ' ' + @EndTimeString
SET @TeamName = '{?TeamName}'
SELECT * FROM CustomerDetail
WHERE StartDateTime Between @StartDateTimeString AND @EndDateTimeString
And TeamName = @TeamName
//////////////////////////////////////////////////////////////////////////////////////////
แต่พอเปลี่ยน Database เป็น Informix connect โดย ODBC และติดตั้ง driver ของ informix เสร็จเรียบร้อบแล้ว แล้วใช้ command นี้ไป query กับ Informix แล้วไม่สามารถใช้ได้ มันจะขึ้น error
[Informix][Informix ODBC Driver][Informix]A syntax error has occurred.
แต่พอใช้เฉพาะคำสั่ง SELECT * FROM ...... ธรรมดาไม่มีการประกาศตัวแปร พบว่าไม่เกิด error เลย
ดังนั้นจึงคิดว่า มันอาจจะ error จาก คำสั่ง DECLARE และ SET ที่ใช้ประกาศตัวแปร ... คิดถูกมั๊ยคะ ถ้าเป็นอย่างนั้นจริง พอมีวิธีประกาศตัวแปรแบบ Informix SQL แนะนำมั๊ยคะ
ขอบคุณค่ะ
ปกติใช้ SQL command นี้ กับ MSSQL
//////////////////////////////////////////////////////////////////////////////////////////
SET QUOTED_IDENTIFIER OFF
USE CustomerDB
DECLARE @StartDateString varchar(10)
DECLARE @EndDateString varchar(10)
DECLARE @StartTimeString varchar(30)
DECLARE @EndTimeString varchar(30)
DECLARE @StartDateTimeString varchar(30)
DECLARE @EndDateTimeString varchar(30)
DECLARE @TeamName varchar(30)
SET @StartDateString = CONVERT(VARCHAR(10), {?DateStart}, 0121)
SET @EndDateString = CONVERT(VARCHAR(10), {?DateEnd}, 0121)
SET @StartTimeString =right(convert(varchar(30),{?DateStart},121),12)
SET @EndTimeString =right(convert(varchar(30),{?DateEnd},121),12)
SET @StartDateTimeString = @StartDateString + ' ' + @StartTimeString
SET @EndDateTimeString = @EndDateString + ' ' + @EndTimeString
SET @TeamName = '{?TeamName}'
SELECT * FROM CustomerDetail
WHERE StartDateTime Between @StartDateTimeString AND @EndDateTimeString
And TeamName = @TeamName
//////////////////////////////////////////////////////////////////////////////////////////
แต่พอเปลี่ยน Database เป็น Informix connect โดย ODBC และติดตั้ง driver ของ informix เสร็จเรียบร้อบแล้ว แล้วใช้ command นี้ไป query กับ Informix แล้วไม่สามารถใช้ได้ มันจะขึ้น error
[Informix][Informix ODBC Driver][Informix]A syntax error has occurred.
แต่พอใช้เฉพาะคำสั่ง SELECT * FROM ...... ธรรมดาไม่มีการประกาศตัวแปร พบว่าไม่เกิด error เลย
ดังนั้นจึงคิดว่า มันอาจจะ error จาก คำสั่ง DECLARE และ SET ที่ใช้ประกาศตัวแปร ... คิดถูกมั๊ยคะ ถ้าเป็นอย่างนั้นจริง พอมีวิธีประกาศตัวแปรแบบ Informix SQL แนะนำมั๊ยคะ
ขอบคุณค่ะ
oxyvisa- จำนวนข้อความ : 1
Join date : 03/11/2011
หน้า 1 จาก 1
Permissions in this forum:
คุณไม่สามารถพิมพ์ตอบ
|
|