下面是一个简单的基于C#的Oracle参数化查询示例
项目需要添加”Oracle.ManagedDataAccess.Core“ Nuget包
using Oracle.ManagedDataAccess.Client;
var serverIP = "192.168.192.168";
var serverPort = 1521;
var userName = "myUserName";
var password = "MyPassWord";
var connectionString = $"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={serverIP})(PORT={serverPort}))(CONNECT_DATA=(SERVICE_NAME=GDLISNET)));Persist Security Info=True;User ID={userName};Password={password}";
var connection = new OracleConnection(connectionString);
connection.Open();
//参数化查询语句
var sql = "select count(*) from YY_RESERVATIONLOGS where SIGNOUTTIME between to_date(:StartTime,'yyyy-MM-dd hh24:mi:ss') and to_date(:EndTime,'yyyy-MM-dd hh24:mi:ss')";
var startDate = DateTime.Parse("2021-07-20");
var endData= DateTime.Parse("2021-08-20");
for (; startDate <= endData;)
{
//参数化查询
var cmd = new OracleCommand(sql, connection);
//添加参数
cmd.Parameters.Add(":StartTime", startDate.ToString("yyyy-MM-dd") + " " + "17:30:00");
cmd.Parameters.Add(":EndTime", startDate.ToString("yyyy-MM-dd") + " " + "23:59:59");
//执行查询
var data= cmd.ExecuteScalar();
Console.WriteLine(startDate.ToString("yyyy-MM-dd") + ":\t" + data.ToString());
//日期递增
startDate= startDate.AddDays(1);
}
connection.Close();