ASP.net c#简单查询参数问题

ASP.net c#简单查询参数问题,c#,asp.net,parameters,parameter-passing,C#,Asp.net,Parameters,Parameter Passing,我知道代码是错误的,只是为了说明我的目标,我如何参数化输入?这一行 // Add into DB using (tblArtworkTemplatesTableAdapter tblAdapter = new tblArtworkTemplatesTableAdapter()) { tblAdapter.Insert(DateTime.Now, "@specID"); "@specID" = int.

我知道代码是错误的,只是为了说明我的目标,我如何参数化输入?

这一行

        // Add into DB
        using (tblArtworkTemplatesTableAdapter tblAdapter = new tblArtworkTemplatesTableAdapter())
        {
            tblAdapter.Insert(DateTime.Now, "@specID");
            "@specID" = int.Parse(lstChooseSpec.SelectedValue)
        }
这是不正确的。不能为常数赋值。你的意思可能是

"@specID" = int.Parse(lstChooseSpec.SelectedValue)
代码的其余部分令人困惑。为什么要将
lschooseSpec.SelectedValue
解析为整数,然后尝试将其作为日期时间添加到适配器?C#是强类型的:某些东西要么是
int
要么是
DateTime
,但不能两者都是

如果您可以发布该方法的其余部分,可能会有所帮助

这一行

        // Add into DB
        using (tblArtworkTemplatesTableAdapter tblAdapter = new tblArtworkTemplatesTableAdapter())
        {
            tblAdapter.Insert(DateTime.Now, "@specID");
            "@specID" = int.Parse(lstChooseSpec.SelectedValue)
        }
这是不正确的。不能为常数赋值。你的意思可能是

"@specID" = int.Parse(lstChooseSpec.SelectedValue)
代码的其余部分令人困惑。为什么要将
lschooseSpec.SelectedValue
解析为整数,然后尝试将其作为日期时间添加到适配器?C#是强类型的:某些东西要么是
int
要么是
DateTime
,但不能两者都是

如果您可以发布该方法的其余部分,可能会有所帮助


通常这取决于具体情况。如果您正在使用任何类型的ORM,如LINQtoSQL或NHibernate,它将为您提供无需提问的解决方案。如果您使用普通的ADO对象(我想是这样),那么您必须使用Command(或SQLCommand或任何其他ICommand实现)对象并使用SQLParameter类(或其他参数类)

ICommand具有可任意编辑的参数集合

specId = int.Parse(lstChooseSpec.SelectedValue);

一般来说,这要视情况而定。如果您正在使用任何类型的ORM,如LINQtoSQL或NHibernate,它将为您提供无需提问的解决方案。如果您使用普通的ADO对象(我想是这样),那么您必须使用Command(或SQLCommand或任何其他ICommand实现)对象并使用SQLParameter类(或其他参数类)

ICommand具有可任意编辑的参数集合

specId = int.Parse(lstChooseSpec.SelectedValue);

我尝试插入两个值,第一个是DateTime,第二个是整数。我想让insery查询的第二个输入成为一个参数,以避免SQL注入我试图插入两个值,第一个是DateTime,第二个是整数。我想让insery查询的第二个输入成为一个参数,以避免SQL注入。我使用的是DAL,我需要担心输入的参数化,还是它会帮我实现?这取决于DAL。我不知道API。一般来说,DAL只需要传递常规的C#数据值,他们自己负责参数化。我在使用DAL,我需要担心参数化输入,还是它会为我做?这取决于DAL。我不知道API。通常情况下,DAL只需要传递常规的C#数据值,它们自己负责参数化