这个存储过程。- SP_insertinfo 向表中插入一个条目。
我通过 ODBC DSN 连接到 informix 数据库。
这是我的代码,这个不会给我一个错误或不插入记录。
我通过 sequeLink 3.10 32 位驱动程序连接,我的应用程序在 64 位操作系统上运行。
试图确定为什么没有插入数据(当我放置断点时,将参数化语句放入实际的数据库中,在那里插入相同的数据,但是从应用程序代码运行时失败)。
int rowsInserted = command.ExecuteNonQuery(); //这一行总是返回-1,并且没有插入数据。
有什么想法/想法会有很大帮助吗?
private void InsertInfo()
{
try
{
using(var connection = new OdbcConnection("dsn=mydsn;UID=myusername;PWD=****;"))
{
var command = connection.CreateCommand();
command.CommandType = CommandType.StoredProcedure;
command.Connection = connection;
command.CommandText = "execute procedure SP_insertinfo(?,?)";
command.Parameters.Clear();
//Insert parameter values
var paramId = new OdbcParameter("ID", OdbcType.Int) { Value = Convert.ToInt32(txtID.Text.Trim()) };
command.Parameters.Add(paramId);
var paramCountry = new OdbcParameter("Country", OdbcType.VarChar, 25) { Value = txtCountry.Text.Trim() };
command.Parameters.Add(paramCountry);
connection.Open();
int rowsInserted = command.ExecuteNonQuery(); //This line is always returning -1 and data doesn't get inserted.
if (rowsInserted > 0)
{
MessageBox.Show("Insert data saved.");
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString()) ;
}
}