读书人

请问"第一行'-'附近有语法异常"这

发布时间: 2012-04-06 12:22:24 作者: rapoo

请教"第一行'-'附近有语法错误"这是个什么问题!
我要把抓拍的照片保持到名为'photo'的数据库里面,是用存储过程实现的,建表和存储过程代码如下:
IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'photo ')
DROP TABLE photo
--创建客户信息表
CREATE TABLE photo(
id INT IDENTITY(1,1) PRIMARY KEY,

image nVARCHAR(50) NULL

);


CREATE PROCEDURE add_photo(

@param1INT,
@param2 NVARCHAR(50)

)AS

DELETE FROM photo WHERE id = @param1;
INSERT INTO photo(image)
VALUES(@param2);


我用vc编写的函数如下:
void CBmxtDlg::insertimage(char a[255])
{
if(!UpdateData())
return;



TRY{
m_db.BeginTrans();
CRecordset rs(&m_db);
CString sql;
rs.Open(CRecordset::dynaset,
"Select max(id) from photo ");
int newID=-1;
if(!rs.IsEOF()) {
CDBVariant var;
rs.GetFieldValue((short)0, var, SQL_C_SLONG);
if (var.m_dwType != DBVT_NULL)
newID = var.m_iVal+1;
}
//插入新的照片记录.



sql.Format( "call add_photo(%d, " " '%s ') ",newID,a);

TRACE(sql);
m_db.ExecuteSQL(sql);

}
CATCH(CDBException,ex)
{
AfxMessageBox (ex-> m_strError);
AfxMessageBox (ex-> m_strStateNativeOrigin);
m_db.Rollback();
}
AND_CATCH(CException,e)
{
TCHAR szError[100];
e-> GetErrorMessage(szError,100);
AfxMessageBox (szError);
m_db.Rollback();
}
END_CATCH

}

为什么执行这个函数时会出现那样的错误呢?"第一行'-'附近有语法错误",那位帮我解决立即给分!

[解决办法]
不懂

读书人网 >SQL Server

热点推荐