调用存储过程 我用 SQL 写好了一个过程,名为:pr_fin_gycl.要传入的参数有:@lnpdctno,@lntechno返回一个临时表的数据.请问在C#怎么样调用这个过程,有那几种常用的方法,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 cm.Parameters.Add("@barCode", SqlDbType.VarChar, 50).Value = barCode;cm.Parameters.Add("@name", SqlDbType.VarChar, 50).Value = name;cm.Parameters.Add("@printTime", SqlDbType.DateTime).Value = printTime;参数就这么传个sqlCommand就行~返回就用sqlAdapter,放到一个dataTable里,明白? SqlCommand cmd = new SqlCommand("pr_fin_gycl", con);cmd.CommandType = CommandType.StoredProcedure;SqlParameter myParm = cmd.Parameters.Add("@lnpdctno", SqlDbType.NVarChar, 50);myParm.Value = "test"; SqlParameter myParm1 = cmd.Parameters.Add("@lntechno", SqlDbType.NVarChar, 50);myParm1.Value = "test"; SqlDataAdapter sda = new SqlDataAdapter(cmd);DataSet set = new DataSet();sda.Fill(set); SqlConnection myCon = new SqlConnection(constr);myCon.Open;string sSQL = "pr_fin_gycl";SqlCommand myCommand = new SqlCommand(sSQL,myCon);SqlCommand.CommandTyp = CommandType.StoredProcedure;SqlParameter myParm = cmd.Parameters.Add("@lnpdctno", SqlDbType.NVarChar, 50);myParm.Value = "test"; SqlParameter myParm1 = cmd.Parameters.Add("@lntechno", SqlDbType.NVarChar, 50);myParm1.Value = "test"; SqlDataAdpter myReader = myCommand.ExecuteReader(); //执行到这里错了。..while(myReader.Reader()){//}错误是:未处理"System.Date SqlClient.SqlException"类型异常出现在 system.data.dll中 SqlDataAdpter myReader = myCommand.ExecuteReader(); //执行到这里错了。..===========================================================================SqlDataReader myReader = myCommand.ExecuteReader(); 兄弟呀,我用 SqlDataReader myReader = myCommand.ExecuteReader();还是错了。.怎么回事呢.... //reader SqlCommand cmd = new SqlCommand(); cmd.Connection = this.Conn; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = ProcName; if( Paras != null ) { foreach( IDataParameter para in Paras ) { cmd.Parameters.Add( para ); } } SqlDataReader reader = null; reader = cmd.ExecuteReader( CommandBehavior.CloseConnection ); //dataset public DataSet ExecProcGetDataSet(string ProcName, string TableName, IDataParameter[] Paras) { SqlCommand cmd = new SqlCommand(); cmd.Connection = this.Conn; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = ProcName; if (Paras != null) { foreach (IDataParameter para in Paras) { cmd.Parameters.Add(para); } } SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds, TableName); return ds; } 我最懒。string strSql = "pr_fin_gycl '"+参数1的值+"','"+参数2的值+"'";DataSet ds= new DataSet();SqlHelper.FillDataset("连接字符串",CommandType.Text,strSql.Trim(),ds,new string[]{"表名"});//SqlHelper 用的是微软的那个结果在 ds.Tables["表名"] 里面 这样的函数怎样写 C#如何读取163系统退信 C#中,如何用OpenGL把图像绘制在Form上?? JS MessageBox为什么不在本页出现 请有思想的高手指点迷津~! 大文本的读取 对于大家来说很简单的问题,为什么点击按钮不显示新页面?无关代码可不看。 ado.net查询效率如此低下?? 简单问题 框架的问题 想知道些关于WPF/E方面的开发环境配置和开发资料,向有共享精神的同行致敬! 怎样得到listview在可见范围内能显示多少条目
cm.Parameters.Add("@name", SqlDbType.VarChar, 50).Value = name;
cm.Parameters.Add("@printTime", SqlDbType.DateTime).Value = printTime;
参数就这么传个sqlCommand就行~
返回就用sqlAdapter,放到一个dataTable里,明白?
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter myParm = cmd.Parameters.Add("@lnpdctno", SqlDbType.NVarChar, 50);
myParm.Value = "test";
SqlParameter myParm1 = cmd.Parameters.Add("@lntechno", SqlDbType.NVarChar, 50);
myParm1.Value = "test";
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet set = new DataSet();
sda.Fill(set);
myCon.Open;string sSQL = "pr_fin_gycl";
SqlCommand myCommand = new SqlCommand(sSQL,myCon);
SqlCommand.CommandTyp = CommandType.StoredProcedure;SqlParameter myParm = cmd.Parameters.Add("@lnpdctno", SqlDbType.NVarChar, 50);
myParm.Value = "test";
SqlParameter myParm1 = cmd.Parameters.Add("@lntechno", SqlDbType.NVarChar, 50);
myParm1.Value = "test"; SqlDataAdpter myReader = myCommand.ExecuteReader(); //执行到这里错了。..
while(myReader.Reader())
{
//
}
错误是:未处理"System.Date SqlClient.SqlException"类型异常出现在 system.data.dll中
我用 SqlDataReader myReader = myCommand.ExecuteReader();
还是错了。.怎么回事呢....
SqlCommand cmd = new SqlCommand();
cmd.Connection = this.Conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = ProcName; if( Paras != null )
{
foreach( IDataParameter para in Paras )
{
cmd.Parameters.Add( para );
}
} SqlDataReader reader = null;
reader = cmd.ExecuteReader( CommandBehavior.CloseConnection );
public DataSet ExecProcGetDataSet(string ProcName, string TableName, IDataParameter[] Paras)
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = this.Conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = ProcName; if (Paras != null)
{
foreach (IDataParameter para in Paras)
{
cmd.Parameters.Add(para);
}
} SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet(); da.Fill(ds, TableName); return ds;
}
string strSql = "pr_fin_gycl '"+参数1的值+"','"+参数2的值+"'";DataSet ds= new DataSet();
SqlHelper.FillDataset("连接字符串",CommandType.Text,strSql.Trim(),ds,new string[]{"表名"});
//SqlHelper 用的是微软的那个结果在 ds.Tables["表名"] 里面