ORA-01036: 非法的变量名/编号 问题,请教,thanks
// <summary>
/// 打开连接
/// </summary>
public static void Open()
{
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
}
/// <summary>
/// 关闭连接
/// </summary>
public static void Close()
{
if (conn.State != ConnectionState.Closed)
{
conn.Close();
}
}
public static void HT_AddArticle(string title, string color, string lanmu1id, string lanmu3id, string keywords, string description, string url, string source, string thumbnail, string username,string content)
{
Open();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into information1(TITLE, COLOR, LANMU1ID, LANMU3ID, KEYWORDS, DESCRIPTION, URL, SOURCE, THUMBNAIL, USERNAME1,THEDATE,CONTENT) " +
"values('" + title + "','" + color + "','" + Convert.ToInt16(lanmu1id) + "','" + Convert.ToInt16(lanmu3id) + "','" + keywords + "','" + description + "','" + url + "','" + source + "','" + thumbnail + "','" + username + "','" + DateTime.Now.ToString("yyyy-MM-dd") + "',:wj)";
cmd.Parameters.Add("wj", OracleType.Clob); //指定类型
cmd.Parameters["wj"].Value = content;
cmd.Connection = conn;
cmd.ExecuteNonQuery();
Close();
}
这个是插入的方法,总是报错ORA-01036: 非法的变量名/编号。
堆栈跟踪:
[OracleException (0x80131938): ORA-01036: 非法的变量名/编号
]
System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc) +304825
System.Data.OracleClient.OracleParameterBinding.Bind(OciStatementHandle statementHandle, NativeBuffer parameterBuffer, OracleConnection connection, Boolean& mustRelease, SafeHandle& handleToBind) +905
System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals) +912
System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor& rowidDescriptor) +431
System.Data.OracleClient.OracleCommand.ExecuteNonQuery() +115
DAL.data.HT_AddArticle(String title, String color, String lanmu1id, String lanmu3id, String keywords, String description, String url, String source, String thumbnail, String username, String content) in D:\Projects\ASPNET\ASPNET\ling\DAL\data.cs:2229
admin_add_article.button_Click(Object sender, EventArgs e) in d:\Projects\ASPNET\ASPNET\ling\WebUI\czzazd_HT\add_article.aspx.cs:96
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
另外每次插入报 ORA-01036: 非法的变量名/编号 错后,重新登录 ,也会报这个错。登录方法如下
登录方法:
public static DataSet HT_CheckAdminDL(string adminname, string pw)
{
Close();
Open();
cmd.CommandType = CommandType.Text;
cmd.CommandText = @"select * from admin where ADMIN=:name and PASSWORD=:mima";
cmd.Connection = conn;
cmd.Parameters.Add("name", OracleType.VarChar, 20); //指定类型
cmd.Parameters["name"].Value = adminname;
cmd.Parameters.Add("mima", OracleType.VarChar, 20); //指定类型
cmd.Parameters["mima"].Value = pw;
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
Close();
}