如下C#代码中 SQL是sql Sever语法:
SqlCommand cmd = new SqlCommand();
...
cmd.CommandText = "INSERT INTO [table1] (userID, userName) VALUES (@userID, @userName)"
cmd.Parameters.Add("userID", 10011);
cmd.Parameters.Add("userName", "csShooter");
请问如果把这条件SQL改成Oracle语法?
要求还是可以通过cmd.Parameters.Add("userID", 10011)传递参数给.
查了一下,说oracle还支持这种用法?...
SqlCommand cmd = new SqlCommand();
...
cmd.CommandText = "INSERT INTO [table1] (userID, userName) VALUES (@userID, @userName)"
cmd.Parameters.Add("userID", 10011);
cmd.Parameters.Add("userName", "csShooter");
请问如果把这条件SQL改成Oracle语法?
要求还是可以通过cmd.Parameters.Add("userID", 10011)传递参数给.
查了一下,说oracle还支持这种用法?...
SqlCommand cmd = new SqlCommand();
...
cmd.CommandText = "INSERT INTO [table1] (userID, userName) VALUES (:userID, :userName)" -- 这里改为冒号:
cmd.Parameters.Add("userID", 10011);
cmd.Parameters.Add("userName", "csShooter");
con.Open();
string insert = "INSERT INTO [table1] (userID, userName) VALUES (:userID, :userName)";
OracleCommand da = new OracleCommand(insert, con);
da.Parameters.Add("userID", 10011);
da.Parameters.Add("userName", "csShooter");
da.Dispose();
con.Close();
con.Dispose();
-- 将这行改为:
cmd.CommandText = "INSERT INTO table(userID, userName) VALUES (:userID, :userName)";
INSERT INTO table(userID, userName) VALUES (:userID, :userName) using 变量1,变量2
㈠SqlClient要使用的是@开头的字符串,
sql语句例如:insert into news(id,name) values(@id,@name)
在添加是必须使用cmd.Parameters.Add("@name",SqlType.Varchar,50)...这中格式
㈡OleDb使用的是?作为占位符,
insert into news(id,name) values(?,?)
cmd.Parameters.Add("@name",SqlType.Varchar,50)...
cmd.Parameters.Add("name",oleDbType.Varchar,50)...
使用上面两种方式都可以
㈢OracleClient使用的是:开头的字符串
insert into news(id,name) values(:ID,:name)
cmd.Parameters.Add(":name",oralcetype.Varchar,50)...
cmd.Parameters.Add("userID", 10011);
cmd.Parameters.Add("userName", "csShooter");
cmd.CommandText = "INSERT INTO " + table1 + " values(" + userID + "," + userName +");";
cmd.Parameters.Add("userID", 10011);
cmd.Parameters.Add("userName", "csShooter");
cmd.CommandText = "INSERT INTO " + table1 + " values(" + userID + "," + userName +");";如一行,可以详细参考一下:http://blog.sina.com.cn/s/blog_4dba646b0100b8he.html
...
cmd.CommandText = "INSERT INTO table1 (userID, userName) VALUES (?, ?)"
cmd.Parameters.Add("userID", 10011);
cmd.Parameters.Add("userName", "csShooter"); 直接這樣就可以,參數按順序加入
不能使用OleDbClient方式连接!!
也算是给其它兄弟留点有用的东西!!