C# 在WinForms中使用DateTimePicker
我试图通过C应用程序WinForms根据日期从MSSQL数据库中选择一些记录,并使用以下代码:C# 在WinForms中使用DateTimePicker,c#,sql-server,winforms,C#,Sql Server,Winforms,我试图通过C应用程序WinForms根据日期从MSSQL数据库中选择一些记录,并使用以下代码: string select = @" select g.nume as Gestiune, p.cod as NumarNIR, p.doc_cod as DocumentDeBaza, p.Validat as Validat, p.Facturat as Contat from primar p inner join
string select = @"
select
g.nume as Gestiune,
p.cod as NumarNIR,
p.doc_cod as DocumentDeBaza,
p.Validat as Validat,
p.Facturat as Contat
from
primar p
inner join gestiuni g
on p.part2=g.gest_id
and data= '" + dtpNIR.Value.ToString() + "'
and cod='" + txtNIR.Text +"'";
尝试选择记录时出现的错误:
将varchar数据类型转换为datetime数据类型导致值超出范围
我一直在寻找答案,但我能找到的只是关于使用datetimepicker使用insert语句。我错过了什么?谢谢使用Sql参数。
使用参数可以消除向查询传递值时的所有格式问题
string select = @"
select
g.nume as Gestiune,
p.cod as NumarNIR,
p.doc_cod as DocumentDeBaza,
p.Validat as Validat,
p.Facturat as Contat
from
primar p
inner join gestiuni g
on p.part2=g.gest_id
and data=@DateNIR
and cod=@TextNIR";
SqlParameter[] parameters =
{
new SqlParameter("@DateNIR", dtpNIR.Value),
new SqlParameter("@TextNIR", txtNIR.Text)
}
using SqlConnection conn = new SqlConnection(yourConnectionString)
{
using SqlCommand command = new SqlCommand(select, conn)
{
command.Parameters.AddRange(parameters);
conn.Open()
//Execute command
}
}
使用参数可以防止
如果根据数据库架构正确定义了参数的属性,则可以提高查询的性能重新使用已编译的查询计划使用Sql参数。
使用参数可以消除向查询传递值时的所有格式问题
string select = @"
select
g.nume as Gestiune,
p.cod as NumarNIR,
p.doc_cod as DocumentDeBaza,
p.Validat as Validat,
p.Facturat as Contat
from
primar p
inner join gestiuni g
on p.part2=g.gest_id
and data=@DateNIR
and cod=@TextNIR";
SqlParameter[] parameters =
{
new SqlParameter("@DateNIR", dtpNIR.Value),
new SqlParameter("@TextNIR", txtNIR.Text)
}
using SqlConnection conn = new SqlConnection(yourConnectionString)
{
using SqlCommand command = new SqlCommand(select, conn)
{
command.Parameters.AddRange(parameters);
conn.Open()
//Execute command
}
}
使用参数可以防止
如果根据已编译查询计划的数据库架构重用正确定义了参数的属性,则可以提高查询性能什么是dateTimePicker?什么是dateTimePicker?