关于Oracle和SQLServer数据库在.net中拼接数据库语句的不同

1  string sql = "insert into personinfo " +
2 "(id,employeename,employeecode, " +
3 "values(:id,:employeename,:employeecode, " )";
4             OracleParameter[] pars = { new OracleParameter("id",t.Id),
5                                        new OracleParameter(":employeename",t.EmployeeName),
6                                        new OracleParameter(":employeecode",t.EmployeeCode)
7                                       };
8  return OracleDBHelper.ExecuteSql(sql, CommandType.Text, pars);
View Code
 1             StringBuilder strSql=new StringBuilder();
 2             strSql.Append("insert into Books(");
 3             strSql.Append("Title,Author,PublisherId)");
 4             strSql.Append(" values (");
 5             strSql.Append("@Title,@Author,@PublisherId)");
 6             strSql.Append(";select @@IDENTITY");
 7             SqlParameter[] parameters = {
 8                     new SqlParameter("@Title", SqlDbType.NVarChar,200),
 9                     new SqlParameter("@Author", SqlDbType.NVarChar,200),
10                     new SqlParameter("@PublisherId", SqlDbType.Int,4)};
11             parameters[0].Value = model.Title;
12             parameters[1].Value = model.Author;
13             parameters[2].Value = model.Publisher.Id ;
14         
15             object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
16             if (obj == null)
17             {
18                 return 1;
19             }
20             else
21             {
22                 return Convert.ToInt32(obj);
23             }
View Code

在Oracle数据库中,参数替换不能使用"@",要使用":"

转载于:https://www.cnblogs.com/xiaoxiaomi/p/4786882.html

Oracle、MySQLSQL Server是三种常见的关系型数据库管理系统(RDBMS),它们在SQL语法方面存在一些差异。以下是它们在常见SQL语句方面的一些区别: 1. 创建表: - Oracle:使用CREATE TABLE语句创建表,支持使用关键词"VARCHAR2"、"NUMBER"等定义列的数据类型。 - MySQL:使用CREATE TABLE语句创建表,支持使用关键词"VARCHAR"、"INT"等定义列的数据类型。 - SQL Server:使用CREATE TABLE语句创建表,支持使用关键词"VARCHAR"、"INT"等定义列的数据类型。 2. 插入数据: - Oracle:使用INSERT INTO语句插入数据,可以使用VALUES子句或SELECT子句。 - MySQL:使用INSERT INTO语句插入数据,可以使用VALUES子句或SELECT子句。 - SQL Server:使用INSERT INTO语句插入数据,可以使用VALUES子句或SELECT子句。 3. 查询数据: - Oracle:使用SELECT语句查询数据,可以使用ROWNUM进行行限制,使用"+"进行字符串拼接。 - MySQL:使用SELECT语句查询数据,可以使用LIMIT进行行限制,使用"CONCAT"进行字符串拼接。 - SQL Server:使用SELECT语句查询数据,可以使用TOP进行行限制,使用"+"进行字符串拼接。 4. 更新数据: - Oracle:使用UPDATE语句更新数据,可以使用"="或":="进行赋值。 - MySQL:使用UPDATE语句更新数据,可以使用"="进行赋值。 - SQL Server:使用UPDATE语句更新数据,可以使用"="进行赋值。 5. 删除数据: - Oracle:使用DELETE语句删除数据,可以使用WHERE子句指定删除条件。 - MySQL:使用DELETE语句删除数据,可以使用WHERE子句指定删除条件。 - SQL Server:使用DELETE语句删除数据,可以使用WHERE子句指定删除条件。 需要注意的是,尽管这些数据库有一些不同SQL语法,但它们都遵循SQL标准,并支持基本的SQL操作,如SELECT、INSERT、UPDATE和DELETE等。在编写跨数据库的应用程序时,应尽量避免使用特定于某个数据库的特性和语法,以确保代码的可移植性和兼容性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值