|
编程访问带有varbinrany参数的存储过程(C#与ado版)(1)
存储过程: CREATE? PROCEDURE Zzd @A1 varbinary(8000) AS GO ? C#: ???SqlConnection cn=null; ???SqlCommand??? cmd=null; ???try ???{ ????cn=new SqlConnection(); ????cn.ConnectionString="data source=192.168.0.199;initial catalog=haha;user id=sa;passWord=sa"; ????cn.Open(); ????cmd=cn.CreateCommand(); ????cmd.CommandType=CommandType.Text; ????cmd.CommandText="exec zzd @A1"; ????SqlParameter param= new SqlParameter(); ????param.ParameterName="@A1"; ????param.DbType=DbType.Binary; ????param.Direction=ParameterDirection.Input; ????byte [] a=new byte[200]; ????SqlBinary bin=new SqlBinary(a); ????param.Value=bin; ????cmd.Parameters.Add(param); ????cmd.ExecuteNonQuery(); ???} ???catch(Exception e1) ???{ ????string a11=e1.Message; ???} ???if(cmd!=null) ????cmd=null; ???if(cn!=null) ???{ ????cn.Close(); ????cn=null; ???} Ado: ?CoInitialize(NULL); ?{ ??_ConnectionPtr cn; ??_CommandPtr??? cmd; ??_ParameterPtr? para; ??SAFEARRAY *psa=NULL; ??para.CreateInstance(__uuidof(Parameter)); ?? try ?? { ??? cn.CreateInstance(__uuidof(Connection)); ??? cmd.CreateInstance(__uuidof(Command)); ??? para.CreateInstance(__uuidof(Parameter)); ??? cn->ConnectionString="Provider=SQLOLEDB.1;User ID=sa;password=sa;Initial Catalog=haha;Data Source=192.168.0.199"; ??? cn->Open( _bstr_t(L""), _bstr_t(L""), _bstr_t(L""), -1 ); ??? cmd->ActiveConnection=cn; ??? cmd->CommandType=adCmdText; ??? cmd->CommandText="exec zzd ?"; ??? //para->Name=_bstr_t("@A1"); ??? para->Type=adVarBinary; ??? para->Size=8000; ??? para->Direction=adParamInput; ??? SAFEARRAY *psa; ??? SAFEARRAYBOUND rgsabound[1];
|