ORA-00936: 缺失表达式
public static int AddUsers(Users user)
{
int n = 0;
try
{
string sql = "insert into users values(id_seq.nextval,'@name',@age,'@sex');";
OracleParameter name = new OracleParameter("@name",user.Name);
OracleParameter age = new OracleParameter("@age", user.Age);
OracleParameter sex = new OracleParameter("@sex",user.Sex); OracleCommand command = command = new OracleCommand(sql, DBHelper.connection);
command.Parameters.Add(name);
command.Parameters.Add(age);
command.Parameters.Add(sex); DBHelper.connection.Open();
Console.WriteLine(sql);
n = command.ExecuteNonQuery();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
finally
{
DBHelper.connection.Close();
}
return n;
}
其中,name、age、sex的值都取到了,在执行添加的时候报错了
public static int AddUsers(Users user)
{
int n = 0;
try
{
string sql = "insert into users values(id_seq.nextval,'@name',@age,'@sex');";
OracleParameter name = new OracleParameter("@name",user.Name);
OracleParameter age = new OracleParameter("@age", user.Age);
OracleParameter sex = new OracleParameter("@sex",user.Sex); OracleCommand command = command = new OracleCommand(sql, DBHelper.connection);
command.Parameters.Add(name);
command.Parameters.Add(age);
command.Parameters.Add(sex); DBHelper.connection.Open();
Console.WriteLine(sql);
n = command.ExecuteNonQuery();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
finally
{
DBHelper.connection.Close();
}
return n;
}
其中,name、age、sex的值都取到了,在执行添加的时候报错了
string sql = "insert into users values(id_seq.nextval,@name,@age,@sex);";
你们说的我都尝试了,还是报错。。
那个该死的客户,非要用Oracle 不用SqlServer。害死我了
string sql = "insert into users values(id_seq.nextval,:name,:age,:sex)";
学习下基础,Oracle很好。
string sql = "insert into users (ID,NAME,AGE,SEX) values (id_seq.nextval,:NAME,:AGE,:SEX)";
public static int AddUsers(Users user)
{
int n = 0;
try
{
string sql = "insert into users (ID,NAME,AGE,SEX) values (id_seq.nextval,:NAME,:AGE,:SEX)"; OracleParameter[] parameters ={
new OracleParameter("NAME", user.Name),
new OracleParameter("AGE", user.Age),
new OracleParameter("SEX", user.Sex)
}; DBHelper.connection.Open();
//Console.WriteLine(sql);
n = command.ExecuteNonQuery(sql,CommandType.Text, 你的链接字符串, parameters);
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
finally
{
DBHelper.connection.Close();
}
return n;
}
具体如何连接数据库什么的,自己找资料。
OracleParameter[] parameters ={
new OracleParameter("NAME", user.Name),
new OracleParameter("AGE", user.Age),
new OracleParameter("SEX", user.Sex)
};
用Oracle,不能用数组。因为没有AddRange()方法
第一次用C#连接Oracle,遇到了很多问题,谢谢各位大手了
是谁告诉你不能用的?
去找个OracleHelper来看看先吧,另外这样如果参数多了,要写的重复代码太多,可以写一个公共的方法来弄。
嗯,对Oracle要多学习一下 不能光靠着SqlServer 嘿嘿
OdbcParameter[] para = {
不是OracleParameter[]
那怎么写?