-1

我在 C# 中有这段代码:

label3.Text = dateTimePicker1.Value.ToString(); 
DateTime vencim = dateTimePicker1.Value; 
DataTable llenar3 = minaf.cargrid3(vencim);
BindingSource forwo = new BindingSource();
forwo.DataSource = llenar3;
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = llenar3;
dataGridView1.Refresh();

cargrid3 是这样的:

DataTable rcargaP = new DataTable();
SqlConnection abre1 = Tconex.GetConnection();
SqlDataAdapter da3 = new SqlDataAdapter();
SqlCommand llena5 = new SqlCommand("vencedata", abre1);
SqlParameter para1 = new SqlParameter("@venci", SqlDbType.SmallDateTime);
para1.Value = vence; llena5.Parameters.Add(para1);
llena5.CommandType = CommandType.StoredProcedure;
da3.SelectCommand = llena5;
da3.Fill(rcargaP);
return rcargaP;

程序是这样的:

alter proc vencedata (@venci datetime)as
select   conta,vencimento,pagamento,historico,original,formpagto,planoconta,clifor 
from financeiro where vencimento >= @venci 
order by vencimento desc

datetimepicker 有效,如果我在 SQL Studio 中编写,则 proc 有效:

vencedata '01/31/2013'

程序 vencedata 仅适用于这种格式

vencedata '03/28/2013' (mm/dd/yyyy)

但是当我尝试

vencedata '28/03/2013'(dd/mm/yyyy)

我也试过这个:

alter proc vencedata (@inicio smalldatetime/*,@final smalldatetime*/)as
select idconta,vencimento,pagamento,historico,original,formpagto,planoconta,clifor 
from financeiro where vencimento >= convert (varchar, @inicio,101) 

一个不工作。

4

2 回答 2

0

假设 vence 是一个包含 dateTimePicker1 选定日期的字符串,您可以试试这个:

para1.Value = vence.ToString("MM/DD/AAAA");
于 2013-02-22T21:19:33.780 回答
0

您应该以正确的格式转换字符串中的日期,然后将其作为参数传递。

尝试这个。

para1.Value = String.Format("{0:d/M/yyyy HH:mm:ss}", vence);

我希望这对你有帮助。

问候,

于 2013-02-22T20:56:40.573 回答