Odbc存储的过程将不接受NULL [英] Odbc stored proc won't accept NULL
本文介绍了Odbc存储的过程将不接受NULL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,
我使用ODBC连接来调用SP(Sybase存储过程),它需要41个参数,但是只需要执行10个参数即可.
在SQL中可以正常工作,但是当我在代码中使用它时,我不确定如何提供模子空白/空值?
应该将其排除在外还是应该使用引号(")?
这是我的代码:
Hi Guys,
Im using a ODBC Connection to call a SP (Sybase Stored Proc), It takes 41 parameters, But only needs 10 of the params to execute.
Works fine in SQL but when i use it in my code im not sure how to supply die blank/NULL Values?
Should it be left out or should i use Quotes ("")?
Here is my code:
OdbcConnection cn;
OdbcCommand cmd;
OdbcDataReader dr;
string connetionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString2"].ConnectionString;
//Change the connection string to use your SQL Server.
cn = new OdbcConnection(connetionString);
//Use ODBC call syntax.
cmd = new OdbcCommand("{call p_MemberAdd_p ("WHAT DO I DO WITH THE EMPTY ARGUMENTS HERE?")}", cn);
cn.Open();
dr = cmd.ExecuteReader();
//List each product.
while (dr.Read())
Label1.Text = dr.GetString(1);
//Label2.Text = dr.GetString(0);
//Clean up.
dr.Close();
cn.Close();
推荐答案
尝试提交DBNull.Value
这是我的代码:
cmd = new OdbcCommand("{调用p_MemberAdd_p(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)},cn);
This is my code:
cmd = new OdbcCommand("{call p_MemberAdd_p (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}", cn);
CIS = cmd.Parameters.Add("@CIS", OdbcType.VarChar);
CIS.Value = DBNull.Value;
OrgId = cmd.Parameters.Add("@OrgId", OdbcType.VarChar, 20);
OrgId.Value = "CBS";
ProductId = cmd.Parameters.Add("@ProductId", OdbcType.VarChar, 20);
ProductId.Value = "AGR";
MPAcc = cmd.Parameters.Add("@MPAcc", OdbcType.VarChar, 20);
MPAcc.Value = DBNull.Value;
和其他所有课程一样
谢谢!!!
With all the other params ofcourse
THANKS!!
这篇关于Odbc存储的过程将不接受NULL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文