con.Open();
DbCommand cmd = con.CreateCommand();
//sql只能是@param做占位符,跟oledb相反,跟参数名有关跟参数顺序无关
//oracle只能用:param做占位符,跟参数名有关跟参数顺序无关
cmd.CommandText = "select * from course where courseid=@courseid";
DbParameter p = cmd.CreateParameter();
p.ParameterName = "@courseid";
p.Value = "0001";
cmd.Parameters.Add(p);
//下面被注释的参数设置方式也是对的,可以注释上面四行而采用下面的语句
//记住只有参数名有意义,顺序无关
//cmd.Parameters.Add(new OleDbParameter("@courseid", "0001"));
ShowResult(cmd.ExecuteReader());
}
}
static void TestSqlStoredProcedure()
...{
Console.WriteLine("TestSqlStoredProcedure");
using (DbConnection con = GetConnection(ConnectionType.Sql))
...{
con.Open();
DbCommand cmd = con.CreateCommand();
//sql只能是@param做占位符,跟oledb相反,跟参数名有关跟参数顺序无关
//oracle只能用:param做占位符,跟参数名有关跟参数顺序无关
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.CommandText = "TestParam";
Console.WriteLine("用@param做占位符");