如何使用c#在参数中传递转换表达式? [英] How to pass convert expression in parameter using c#?

查看:23
本文介绍了如何使用c#在参数中传递转换表达式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用字符串生成器在 c# 代码中创建了一个临时插入语句.

I had an adhoc insert statement created in c# code using string builder.

var str = new StringBuilder(string.Empty);
str.Append(" INSERT INTO Table_01 ( ID,");
        str.Append("Comment,");
        str.Append("DateTimeStamp,");
str.Append(" ) VALUES( ");
        str.Append("'" + Guid.NewGuid() + "',");
        str.Append("'" + CaseComment + "',");
        str.Append("CONVERT(DATETIME, '" + DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + "',120)");

我已将此代码转换为 SqlParameter:-

I have converted this code to SqlParameter:-

var str = INSERT INTO Table_01(ID,Comment,DateTimeStamp)     
VALUES(@ID,@Comment,@DateTimeStamp)
using (var cmd = new SqlCommand(str, con))
{
cmd.Parameters.Add(new SqlParameter("@ID", Guid.NewGuid()));
cmd.Parameters.Add(new SqlParameter("@Comment", CaseComment));
cmd.Parameters.Add(new SqlParameter("@DateTimeStamp", ?????));
cmd.ExecuteNonQuery();
}

在传递 DateTime 之前,我必须确保格式等于 "convert(varchar, getdate(), 120) -- 2016-10-23 06:10:55(24h)"就像在 TSQL 中一样.我将如何使用 TSQL Convert 表达式传递 @datetime 参数?

Before passing DateTime, I have to make sure that format is equal to "convert(varchar, getdate(), 120) -- 2016-10-23 06:10:55(24h)" as in TSQL. How will i pass @datetime parameter using TSQL Convert expression?

推荐答案

您可以使用 Convert 类.尝试这样的事情,

You can use Convert class. Try something like this,

cmd.Parameters.Add(new SqlParameter("@DateTimeStamp", Convert.ToDateTime(DateTime.Now)));

cmdItemSearch.Parameters.Add(new SqlParameter("@EndDate", SqlDbType.DateTime)); 
cmdItemSearch.Parameters["@EndDate"].Value = DateTime.Now;

这篇关于如何使用c#在参数中传递转换表达式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆