在项目中,用到了SQL中包含参数(Parameter)的用法,如果参数格式书写错误,就会报: ORA-01036:非法的变量名/编号。并且不同的数据库的用法还不相同。现总结如下:
// Oracle StringBuilder strSql = new StringBuilder(); // 组合SQL strSql.Append(" INSERT INTO TABLE ("); strSql.Append(" USERCODE,"); // 用户代码 strSql.Append(" USERNAME,"); // 用户名称 strSql.Append(" CREATEUSER,"); // 创建人 strSql.Append(" UPDATEUSER"); // 更新人 strSql.Append(" ) VALUES ("); strSql.Append(" :USERCODE,"); // 用户代码 strSql.Append(" :USERNAME,"); // 用户名称 strSql.Append(" :CREATEUSER,"); // 创建人 strSql.Append(" :UPDATEUSER"); // 更新人 strSql.Append(" )"); // 声明参数数组 OracleParameter[] parameters = { new OracleParameter("USERCODE", 'testusercode'), // 用户代码 new OracleParameter("USERNAME", 'testusername'), // 用户名称 new OracleParameter("CREATEUSER", 'user'), // 创建人 new OracleParameter("UPDATEUSER", 'user'), // 更新人 }; // DB2 StringBuilder strSql = new StringBuilder(); // 组合SQL strSql.Append(" INSERT INTO TABLE ("); strSql.Append(" USERCODE,"); // 用户代码 strSql.Append(" USERNAME,"); // 用户名称 strSql.Append(" CREATEUSER,"); // 创建人 strSql.Append(" UPDATEUSER"); // 更新人 strSql.Append(" ) VALUES ("); strSql.Append(" ?,"); // 用户代码 strSql.Append(" ?,"); // 用户名称 strSql.Append(" ?,"); // 创建人 strSql.Append(" ?"); // 更新人 strSql.Append(" )"); // 声明参数数组 DB2Parameter[] parameters = { new DB2Parameter("USERCODE", 'testusercode'), // 用户代码 new DB2Parameter("USERNAME", 'testusername'), // 用户名称 new DB2Parameter("CREATEUSER", 'user'), // 创建人 new DB2Parameter("UPDATEUSER", 'user'), // 更新人 }; // SQLServer StringBuilder strSql = new StringBuilder(); // 组合SQL strSql.Append(" INSERT INTO TABLE ("); strSql.Append(" USERCODE,"); // 用户代码 strSql.Append(" USERNAME,"); // 用户名称 strSql.Append(" CREATEUSER,"); // 创建人 strSql.Append(" UPDATEUSER"); // 更新人 strSql.Append(" ) VALUES ("); strSql.Append(" @USERCODE,"); // 用户代码 strSql.Append(" @USERNAME,"); // 用户名称 strSql.Append(" @CREATEUSER,"); // 创建人 strSql.Append(" @UPDATEUSER"); // 更新人 strSql.Append(" )"); // 声明参数数组 SqlParameter[] parameters = { new SqlParameter("@USERCODE", 'testusercode'), // 用户代码 new SqlParameter("@USERNAME", 'testusername'), // 用户名称 new SqlParameter("@CREATEUSER", 'user'), // 创建人 new SqlParameter("@UPDATEUSER", 'user'), // 更新人 };
兄弟,加我qq 332386582 我是镇中的老同学
我已经加你QQ了。