当我试图将数据添加到数据库中时,我得到了这个错误。我获得的某些信息被添加到我创建的其他表中。此问题仅发生在一个表中。
下面是我的代码:
public class NewOtherCompanyMapper
{
OtherCompany om;
private Database db;
private DbCommand cmd;
private DbConnection con;
public void AddNDADetails(string id)
{
try
{
con = db.CreateConnection();
con.Open();
string query = string.Format("INSERT INTO NDAInformation (NDAID,RegNumber,DateCreate,RefName,ReqServ,ServDetails) VALUES (:ndaID,:regnumber,TO_DATE(:date,'DDMMYYYY'),:refname,:regserv,:servdetails)");
cmd = db.GetSqlStringCommand(query);
cmd = con.CreateCommand();
cmd.CommandText = query;
db.ExecuteNonQuery(cmd);
db.AddInParameter(cmd, "ndaID", DbType.String, id);
db.AddInParameter(cmd, "regnumber", DbType.String, om.RegNumber);
db.AddInParameter(cmd, "date", DbType.Date, om.Date);
db.AddInParameter(cmd, "refname", DbType.String, om.ComRef);
db.AddInParameter(cmd, "regserv", DbType.String, om.ComService);
db.AddInParameter(cmd, "servdetails", DbType.String, string.Join(",", om.ReqServiceDetails));
}
catch (Exception ex)
{
throw ex;
}
}
}
发布于 2015-03-24 05:14:27
ORA-01745:无效的主机/绑定变量名
原因:绑定变量或INTO规范中的冒号后面跟着不适当的名称,可能是保留字。
操作:更改变量名并重试该操作。
=============================================================
例如::。
Dim nCount As Integer
sSQL = "SELECT COUNT(*) FROM USERS WHERE USER_ID = :UID"
OracleConnection conn = new OracleConnection(ConfigurationSettings.AppSettings("connString"));
conn.Open();
OracleCommand cmd = new OracleCommand(sSQL, conn);
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("UID", OracleType.VarChar).Value = txtUserID.Text;
nCount = cmd.ExecuteScalar();
https://stackoverflow.com/questions/29225329
复制