string sql = "INSERT INTO USERINFO VALUES(@USERNAME,@PASSWORD,@NAME,@BRITHDAY,@SEX,@EMAIL,@QQ,@TEL)";OracleCommand cmd = new OracleCommand(sql,conn);cmd.Parameters.Add("@USERNAME",OracleType.NVarChar).Value=UserName;cmd.Parameters.Add("@PASSWORD", OracleType.NVarChar).Value = Password;cmd.Parameters.Add("@NAME", OracleType.NVarChar).Value = Name;cmd.Parameters.Add("@BRITHDAY", OracleType.DateTime).Value =Convert.ToDateTime(Brithday);cmd.Parameters.Add("@SEX", OracleType.NVarChar).Value = sex;cmd.Parameters.Add("@EMAIL", OracleType.NVarChar).Value = Email;cmd.Parameters.Add("@QQ", OracleType.NVarChar).Value = qq;cmd.Parameters.Add("@TEL", OracleType.NVarChar).Value = tel;這樣寫會(huì)出現(xiàn):ORA-01036: illegal variable name/number我以前一直用的是sql server這樣寫沒出錯(cuò)過。
3 回答

桃花長相依
TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊
首先,sql中的NVarChar類型 在oracle中是NVarChar2
其次,oracle中的參數(shù)前面是不加@號(hào)的,但是要在定義一個(gè)參數(shù)時(shí)就申明清楚是輸入型參數(shù)(IN),還是輸出型參數(shù)(OUT)
建議你看看oracle的基礎(chǔ)語法,完全按SQL語句來寫ORACLE語句肯定是行不通的

DIEA
TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超2個(gè)贊
數(shù)據(jù)類型出錯(cuò),應(yīng)該是你需要插入數(shù)字類型的字段出錯(cuò)。

當(dāng)年話下
TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
這個(gè) 很有可能是你定義的變量的數(shù)據(jù)(@USERNAME,@PASSWORD,@NAME,@BRITHDAY,@SEX,@EMAIL,@QQ,@TEL)")格式不正確,請(qǐng)仔細(xì)檢查
添加回答
舉報(bào)
0/150
提交
取消