在SQL查询语句的条件中如何使用变量?请问这句SQL哪里有错啊?
beginTime 和 endTime 是要传入的变量 是DateTime类型的.我试了用& 号,和+ 号,都说这个SQL有错.
请大家帮忙啊谢谢 string cmdText = "select * from table where Time between '"& beginTime &" ' and '"& endTime& &"'"; string cmdText = "select * from table where Time between '"+ beginTime +" ' and '"+ endTime& +"'"
beginTime 和 endTime 是要传入的变量 是DateTime类型的.我试了用& 号,和+ 号,都说这个SQL有错.
请大家帮忙啊谢谢 string cmdText = "select * from table where Time between '"& beginTime &" ' and '"& endTime& &"'"; string cmdText = "select * from table where Time between '"+ beginTime +" ' and '"+ endTime& +"'"
给一个例子 private const string SQL_INSERT_STEP = "Insert into ArchProcessStep(ArchID,StepLevel,DeptCode,JobCode,StepTimes,StepTimesUOM,StepOP) Values(@ArchID,@StepLevel,@DeptCode,@JobCode,@StepTimes,@StepTimesUOM,@StepOP)";
SqlParameter[] InsertParms = new SqlParameter[]
{
new SqlParameter(PARM_StepLevel,SqlDbType.Int,4),
new SqlParameter(PARM_DeptCode,SqlDbType.NVarChar,20),
new SqlParameter(PARM_JobCode,SqlDbType.NVarChar,20),
new SqlParameter(PARM_StepTimes,SqlDbType.Int,4),
new SqlParameter(PARM_StepTimesUOM,SqlDbType.NVarChar,10),
new SqlParameter(PARM_StepOP,SqlDbType.NVarChar,10),
new SqlParameter(PARM_ArchID,SqlDbType.Int,4),
}; InsertParms[0].Value = step.StepLevel;
InsertParms[1].Value = step.DeptCode;
InsertParms[2].Value = step.JobCode;
InsertParms[3].Value = step.StepTimes;
InsertParms[4].Value = step.TimesUOM;
InsertParms[5].Value = step.StepOP;
InsertParms[6].Value = step.ArchID;
declare @endTime DateTime
string cmdText = "select * from table where Time between '"+ @beginTime +" ' and '"+ @endTime +"'"
你的beginTime 和 endTime 获取的时候肯定是字符型的,怎么会是DateTime类型的?
所以你要转化一下 string cmdText = "select * from table where Convert(varchar(10),Time,121) between '"+ beginTime +" ' and '"+ endTime +"'";
将Time转化成字符型的
谢谢 ustbwuyi()指教,但是我这么转化成字符型的怎么不对啊?string beginTimeSring = beginTime.ToString;
http://community.csdn.net/Expert/topic/5050/5050587.xml?temp=.3536493