• 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ

.net中的在Oracle中插入数据出错,就大家帮帮忙

zjjhfwh 2005-05-14 03:58:01
String sql = string.Format(@"
INSERT INTO fwhtest(test)
VALUES(@test)
");
DataSet data = new DataSet();
DataTable table = new DataTable("fwhtest");
DataColumnCollection columns = table.Columns;

columns.Add("test", typeof(System.String));

data.Tables.Add(table);

DataRow row = table.NewRow();
row["test"] = "18888j";
table.Rows.Add(row);

OracleConnection conn = new OracleConnection("Data Source=oracle;User ID=tpo;Password=invent;");
OracleDataAdapter da = new OracleDataAdapter();
OracleCommand cmd;

cmd = new OracleCommand(sql, conn);
cmd.Parameters.Add("@test", OracleType.NVarChar, 20, "test");
da.InsertCommand = cmd;

conn.Open();
try
{
da.Update(data, "fwhtest");
}
catch (Exception exception1)
{
this.TraceError(exception1);
}
conn.Close();
...全文
83 点赞 收藏 7
写回复
7 条回复
悄悄的回来了 2005年05月14日
//换种写法吧!
private void OpenOracleDataBase()
{
string strConn=System.Configuration.ConfigurationSettings.AppSettings["ORACLE_CONNECTIONSTRING"].ToString();
OracleConn=new OracleConnection(strConn);
OracleConn.Open();
}

private void OracleData(string strSql)
{
OpenOracleDataBase();
OracleCommand OracleCmd=new OracleCommand("",OracleConn);
OracleCmd.CommandText=strSql;
OracleCmd.ExecuteNonQuery();
CloseOracleDataBase();
}
private void btnAdd_Click(object sender, System.EventArgs e)
{
string strInset="insert into emp values(7777,'姓名','PG',7789,'23-1月 -82',3500,12,10)";
OracleData(strInset);
}
/////
web.config配置
<configuration>
<appSettings>
<add key="ORACLE_CONNECTIONSTRING" value="Data Source=dlq;User Id=XXX;Password=XXX;Max Pool Size = 512;"/>
</appSettings>
回复 点赞
karykwan 2005年05月14日
RA-01036: 非法的变量名/编号
BUG-2171766 (since 9.2.0)

When writing JDBC code that contains SQL method invocations,
the syntax " ?.method(args,...) " results in the SQL error
message: ORA-01036: illegal variable name/number. This message
is somewhat misleading. What is required is that the ? must be
followed by a " " (space) to avoid this issue.
回复 点赞
cqdyh 2005年05月14日
OracleCommandBuilder
回复 点赞
小笨和漂向北方 2005年05月14日
conn.Open();
cmd = new OracleCommand(sql, conn);
cmd.Parameters.Add("@test", OracleType.NVarChar, 20, "test");
conn.Open();

OracleDataAdapter da = new OracleDataAdapter(cmd);
adapter.Fill(data);



回复 点赞
zjjhfwh 2005年05月14日
權限有的

錯誤信息
ORA-01036: 非法的变量名/编号
回复 点赞
pingnt 2005年05月14日
出错信息呢?
回复 点赞
orcale 2005年05月14日
錯誤信息是什麼?
oracle的角色是否有insert權限?
回复 点赞
发动态
发帖子
.NET技术社区
创建于2007-09-28

4.9w+

社区成员

66.8w+

社区内容

.NET技术交流专区
社区公告
暂无公告