我在.Net中使用ODBC命令對象構建查詢,並傳入多個參數。對SQL Anywhere執行查詢時,出現以下錯誤。 (相同的代碼適用於SQL Server)。SQL Anywhere查詢錯誤:主機變量的值不足
[System.Data.Odbc.OdbcException] = { 「ERROR [07002] [的Sybase] [ODBC驅動程序] [SQL Anywhere的用於主機變量的值不夠」}
該命令對象具有相同數量的作爲佔位符('?')添加到查詢中的參數。以下是一個簡單的查詢和未通過測試的C#代碼。
C#代碼來填充主機變量
字符串QUERYTEXT = @「DECLARE @loanuseraddress VARCHAR(40),@loanid小數 設置@loanid =? 設置@loanuseraddress =? SELECT * FROM loan_assignments其中loan_id = @loanid「
OdbcConnection connection = new OdbcConnection(request.ConnectionString);
OdbcCommand command;
command = new OdbcCommand(queryText, connection);
OdbcParameter param1 = new OdbcParameter("@loanid", OdbcType.Decimal);
param1.Value = request.Loan.LoanNumber;
command.Parameters.Add(param1);
OdbcParameter param2 = new OdbcParameter("@loanuseremployer", dbcType.VarChar);
param2.Value = appraisalCompanyUpdate.LoanUserEmployer;
if (param2.Value == null)
param2.Value = DBNull.Value;
command.Parameters.Add(param2);
connection.Open();
OdbcDataReader rows = command.ExecuteReader();
謝謝,那是我的問題:) – Carra 2011-04-26 09:22:22