本文介绍了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
发布评论