RT
解决方案 »
- (Xi - Yi)求和,怎样用存储过程实现?
- 请问:自动分省的代码怎么写呢,我等待各位帮我
- 求一条SQL语句
- 创建表出现奇怪问题
- SQL查询效率问题
- 今天想在WIN2000+SP3上安装一套SQLSERVER 6.5失败了......
- 我在安装完SQL SERVER后,打不开管理起,报错:管理单元初始化失败 名称 —无— CLICD:{001001001-1816-11D08EF500AA00C2C58F}.谢谢大侠
- 怎么快速存储10万个不规则的点组成的一条线?
- 关于SQL2012 记录每天的数据变化?
- 如何查询整数数值列没有的数值?
- 求查询以下下结果的sql语句
- 我SQL Server2005中使用modify命令提示,命令都不变颜色!提示有错误
//这样呢?
byte[] val = new byte[0];
//一般对于图片列,都是先检测有没有对这段进行相关赋值操作,没有直接忽略此字段,自然就是空的了,没必要赋个空值给它
create procedure [dbo].[selectNull]
@a int,
@b binary output,
@c nvarchar(100) output
as
begin
set @b=null
set @c='im c'
endusing (SqlConnection con = new SqlConnection("server=localhost;database=test;uid=sa;pwd=xx;"))
{
using (SqlCommand cmd = new SqlCommand("dbo.selectNull", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@a", SqlDbType.Int));
cmd.Parameters.Add(new SqlParameter("@b", SqlDbType.Binary, 100));
cmd.Parameters.Add(new SqlParameter("@c", SqlDbType.NVarChar, 100)); cmd.Parameters["@b"].Direction = ParameterDirection.Output;
cmd.Parameters["@c"].Direction = ParameterDirection.Output;
cmd.Parameters["@a"].Value = 1;
con.Open();
cmd.ExecuteNonQuery();
byte[] b = Encoding.Unicode.GetBytes(cmd.Parameters["@b"].Value.ToString());
string c = cmd.Parameters["@c"].Value.ToString(); }
}
@a int,
@b binary(100),
@c nvarchar(100) output
as
begin
if (@b is null)
set @c='b is null'
else
set @c='b is not null'
endusing (SqlConnection con = new SqlConnection("server=localhost;database=test;uid=sa;pwd=123456;"))
{
using (SqlCommand cmd = new SqlCommand("dbo.selectNull", con))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@a", SqlDbType.Int));
cmd.Parameters.Add(new SqlParameter("@b", SqlDbType.Binary, 100));
cmd.Parameters.Add(new SqlParameter("@c", SqlDbType.NVarChar, 100)); //cmd.Parameters["@b"].Direction = ParameterDirection.Output;
cmd.Parameters["@c"].Direction = ParameterDirection.Output;
cmd.Parameters["@a"].Value = 1;
cmd.Parameters["@b"].Value = DBNull.Value;//null值
con.Open();
cmd.ExecuteNonQuery(); string c = cmd.Parameters["@c"].Value.ToString(); Console.WriteLine(c); }
}
存储过程里面检查一下。看看是不是存储过程内部的异常。