2013-02-22 25 views
-1

我有這樣的代碼在C#:dateTimePicker的和smalldatetime

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工程,PROC如果我在SQL Studio中編寫,則可以工作:

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) 

一個不工作。

+0

您還沒有表現出其中'vence'來自在所有...很難用這樣的混亂問題來幫助你。 – 2013-02-22 20:05:18

回答

0

您應該以正確的格式轉換字符串中的日期,然後將其作爲參數傳遞。

試試這個。

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

我希望這對你有所幫助。

問候,

0

假設旺斯是保持dateTimePicker1選定日期的字符串,你可以試試這個:

para1.Value = vence.ToString("MM/DD/AAAA"); 
+0

這一行不工作para1.Value = vence.ToString(「MM/DD/AAAA」); – 2013-02-25 20:15:32