-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 に答える