怎样定义OracleParameter的DbType
定义了一个数据库操作类,代码如下:
public class databaseUntil
{
private OracleCommand cmd = null;
private OracleConnection conn = null;
private string connstr;//从数据库中读取的连接语句
public databaseUntil()
{
connstr = ConfigurationManager.ConnectionStrings["oracleConnString"].ConnectionString;
}
//建立数据库连接
//返回一个数据库的连接OracleConnection对象
public OracleConnection init()
{
conn = new OracleConnection(connstr);
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
}
//设置OracleCommand对象
//参数:cmd--OracleCommand对象,cmdText--命令文本,cmdType--命令类型,cmdParms--参数集合
private void SetCommand(OracleCommand cmd, string cmdText, CommandType cmdType, OracleParameter[] cmdParms)
{
cmd.Connection = conn;
cmd.CommandText = cmdText;
cmd.CommandType = cmdType;
if (cmdParms != null)
{
cmd.Parameters.AddRange(cmdParms);
}
}
}
在c#服务器端调用代码如下:
OracleParameter[] pParm=new OracleParameter[10];
pParm[0].DbType = DbType.String;//项目名称
pParm[0].Direction = ParameterDirection.Input;
pParm[0].ParameterName="Projectname";
pParm[0].Value=projectNameText.Text;
pParm[1].DbType=DbType.String;//建设单位
pParm[1].Direction = ParameterDirection.Input;
pParm[1].ParameterName="BUILDINGCOMPANY";
pParm[1].Value=companyText.Text;
databaseUntil pDbUntil = new databaseUntil();
pDbUntil.init();//先初始化数据库连接
int row=pDbUntil.SetCommand("plan_fliles_upLoad_file", CommandType.StoredProcedure, pParm);//传入到数据库中
在编译运行时,VS2005总是提示:pParm[0].DbType = DbType.String;定义错误。对SetCommand提示,也提示数据参数类型不对,为什么?