求助 C# 中 如何执行带输入参数的存储过程和不带参数的存储过程
请问 在 C#(C/S)分层模式中怎么执行带输入参数的存储过程和不带输入参数的存储过程 以下 贴出我的部部分代码 格式就跟代码中的 添加等一样的 谢谢
下面是我查询和添加的代码段 那么 执行存储过程该怎么些啊
比入数据库中有这个存储过程 proc_info
在程序中我用向这个存储过程 传入值 如:'wc_9193477','2009-4-8','admin',…… 那么在程序中的代码该怎么写 谢谢各位了 再次谢谢了
页面和WCDLL不属于同一个项目 WCDLL 通过是应用的
winforms 页面 调用插入
using WCDll;
public partial class frm_inDepotInfo : Form
{
WCDll.workDll objwd = new workDll();
DataSet objds = new DataSet();
………………………………………………
private void btnAdd_Click(object sender, EventArgs e)
{objwd.incmd_tranist(txtczdh.Text, txtsm.Text);}
}
查询
private void frm_addDepot_Load(object sender, EventArgs e)
{
objds=objac.sel_depot();
dgInfo.DataSource=objds.Tables[0];}
执行插入命令的 代码 另一个项目 WCDLL
添加
public bool incmd_tranist(string ydh,string czdh,)
{incmd = "insert into depotlog(undertaker,transittext) values ('"+ ydh.ToString() + "'," ,'" + czdh.ToString() + "')";
objdbc.Execute(incmd);}
查询
public DataSet sel_depot()
{selcmd = "select id '编号',dname '仓库名称' from depot";
objds = objdbc.Search(selcmd, "sel_depot");}
数据库连接类 命令执行
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
//using System.Data.OleDb;
using System.Data.SqlClient;
namespace WCDll
{
public class DataBaseConn : IDisposable
{
// 保存数据库连接字符串
private string m_sConnectionString;
// 数据库连接标志
private bool m_bConnected;
// 存储过程开启标志
private bool m_bTransaction;
////服务器名称
//public string serverName;
//数据库连接对象
private SqlConnection objoleConn;
private SqlDataAdapter objoleDa;
private SqlCommand objoleComm;
private SqlTransaction objoleTran;
public DataBaseConn()
: this("Data Source=ymkjwx;Initial Catalog=wcData;Integrated Security=True")
{ }
public DataBaseConn(string sConnString)
{
#region
if (sConnString != "")
{
m_sConnectionString = sConnString;
m_bConnected = false;
}
m_bTransaction = false;
#endregion
}
private bool ConnOpen()
{
#region 连接数据库,并打开
if (!m_bConnected)
{
try
{
if (objoleConn == null)
{
objoleConn = new SqlConnection(m_sConnectionString);
objoleConn.Open();
}
if (objoleComm == null)
{
objoleComm = new SqlCommand();
}
m_bConnected = true;
objoleComm.Connection = objoleConn;
}
catch (SqlException)
{
throw (new ApplicationException("连接数据库并打开时发生错误!!"));
}
}
return true;
#endregion
}
public bool CloseConn()
{
#region 关闭连接
try
{
Dispose();
}
catch (Exception)
{
throw (new ApplicationException("关闭数据库连接时发生错误!!"));
}
return true;
#endregion
}
public DataSet Search(string sQu, string sTn)
{
#region 执行数据库查询操作
/// <param name="sQuery">查询的Sql语句</param>
/// <param name="sTableName">返回数据集的表名</param>
/// <returns>返回数据集</returns>
if (!ConnOpen())
{
//若连接数据库失败抛出错误
throw (new ApplicationException("没有建立数据库连接!!"));
}
DataSet objds = new DataSet();
objoleComm.CommandType = System.Data.CommandType.Text;
objoleComm.CommandText = sQu;
objoleDa = new SqlDataAdapter();
objoleDa.SelectCommand = objoleComm;
try
{
objoleDa.Fill(objds, sTn);
}
catch (SqlException)
{
throw (new ApplicationException("执行查询时发生错误!!"));
}
return objds;
#endregion
}
public int Read(string sql)
{
#region 查询
try
{
ConnOpen();
objoleComm = new SqlCommand(sql, objoleConn);
return objoleComm.ExecuteNonQuery();
}
catch
{
return -1;
}
finally
{
CloseConn();
}
#endregion
}
//执行数据库操作
public bool Execute(string sql)
{
#region 修改、删除等无返回值的操作
if (!ConnOpen())
{
throw (new ApplicationException("没有建立数据库连接"));
}
objoleComm.CommandType = System.Data.CommandType.Text;
objoleComm.CommandText = sql;
try
{
objoleComm.ExecuteNonQuery();
}
catch (SqlException ex)
{
throw ex;
//throw (new ApplicationException("执行数据库操作时发生错误!!"));
}
return true;
#endregion
}
public bool Commit()
{
#region 事务处理
//如果没有开启事务处理功能,不做任何操作,直接返回成功
if (!m_bTransaction)
{
return true;
}
try
{
objoleTran.Commit();
}
catch (SqlException)
{
objoleTran.Rollback();
throw (new ApplicationException("进行事务处理时发生错误!!"));
}
return true;
#endregion
}
public void Dispose()
{
#region 除去对象资源
Dispose(true);
GC.SuppressFinalize(true);
#endregion
}
protected virtual void Dispose(bool bDispose)
{
#region 释放对象实例变量.
if (!bDispose)
return;
if (m_bConnected)
{
if (objoleConn.State != ConnectionState.Closed)
{
objoleConn.Dispose();
objoleConn.Close();
objoleComm = null;
objoleConn = null;
objoleTran = null;
m_bConnected = false;
}
}
#endregion
}
}
}