【发布时间】:2021-12-16 01:08:29
【问题描述】:
我正在尝试调用存储过程,但我不太了解 ASP.NET 语法。
项目使用:
- ASP.NET Core Web API
- ODBC 连接
- 没有实体框架
OdbcConnection connection = new OdbcConnection(ConnectionString());
OdbcCommand ODBCCommand = new OdbcCommand("sp_insert_booking", connection);
ODBCCommand.CommandType = CommandType.StoredProcedure;
ODBCCommand.Parameters.AddWithValue("@project", "");
connection.Open();
ODBCCommand.ExecuteNonQuery();
例外
Exception has occurred: CLR/System.Data.Odbc.OdbcException
An exception of type 'System.Data.Odbc.OdbcException' occurred in System.Data.Odbc.dll but was not handled in user code: 'ERROR [HY000] [ODBC InterBase Driver][InterBase]Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 0
sp_insert_booking'
我的问题是在项目结构中定义/创建spInsertBooking 的位置。
【问题讨论】:
-
存储过程驻留在数据库中。您的问题与创建或调用存储过程有关吗?如果您想调用现有的,CommandText 属性应该是存储过程的名称,在您的情况下为
OdbcCommand ODBCCommand = new OdbcCommand("spInsertBooking"); -
你在后台使用什么数据库?为什么
ODBC- 似乎很传统,通常不是最佳选择... -
我之前的评论忘记了连接参数,所以应该是
OdbcCommand ODBCCommand = new OdbcCommand("spInsertBooking", connection); -
@marc_s InterBase
-
请添加完整的异常详细信息,但您可能需要打开连接,在显示代码中您不这样做。在声明和实例化连接后添加
connection.Open();。
标签: c# asp.net asp.net-web-api interbase