【发布时间】:2015-04-22 11:26:35
【问题描述】:
我是一个初学者,正在尝试用 C# 创建一个简单的程序,用于在 Oracle 数据库中插入和更新记录。我已成功连接到数据库,但我的 SQL 语句出现异常,指出不支持 (?) 符号。为什么会出现此异常以及如何解决此问题?
我的代码是:
private void btnSave_Click(object sender, EventArgs e)
{
OracleConnection con = null;
try
{
con = new OracleConnection();
string constr = "Data source=XE; User ID=cloudester; Password=cloudester123;";
if (con.State != ConnectionState.Open)
{
try
{
con.ConnectionString = constr;
con.Open();
//MessageBox.Show("Successfull connection");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Exception caught");
}
}
if (con.State == ConnectionState.Open)
{
string str = "Insert into EMP_DETAIL(EmpId, Name, Age)";
str += "values (?,?,?)";
OracleCommand cmd = new OracleCommand();
cmd.CommandText = Text;
cmd.Connection = con;
cmd.Parameters.Add(new OracleParameter("EmpId", OracleDbType.Varchar2)).Value = txtEmpId;
cmd.Parameters.Add(new OracleParameter("Name", OracleDbType.Varchar2)).Value = txtName;
cmd.Parameters.Add(new OracleParameter("Age", OracleDbType.Int16)).Value = int.Parse(txtAge.Text);
cmd.ExecuteNonQuery();
}
}
catch { ... }
}
【问题讨论】:
-
我不知道应该用什么来代替?
-
我想在 oracle 表中插入新记录。我已成功连接数据库,但不知道如何插入记录。我在互联网上搜索,但没有找到任何可行的解决方案
-
我尝试使用 Oraclecommand,但它在 SQL satatement 中显示错误
-
您应该使用带有
:占位符的命名参数,例如"Insert into EMP_DETAIL(EmpId, Name, Age) values(:EmpId, :Name, :Age)" -
你能帮我用OracleCommand简单的插入程序吗
标签: c# oracle sql-insert query-parameters