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#数据值,它们自己负责参数化