2017-07-28 2 views
0

私はアプリケーションを開発しています.2つのtimePickersからselect *を条件として利用するには、最大と最小の日付を選択する必要があります。date> x AND date <y

私はこれを持っている:

var select = "SELECT * from inventario where ifechaCompra > "+diarioFecha1.Text+" and ifechaCompra < "+diarioFecha2.Text+""; 
      SqlCeConnection con = new SqlCeConnection(System.Configuration.ConfigurationManager.ConnectionStrings["conexionDB"].ConnectionString); 
      var dataAdapter = new SqlCeDataAdapter(select, con); 
      var commandBuilder = new SqlCeCommandBuilder(dataAdapter); 
      var ds = new DataSet(); 
      dataAdapter.Fill(ds); 
      tablaInventario.ReadOnly = true; 
      tablaInventario.DataSource = ds.Tables[0]; 

奇妙なことがある代わり< "+diarioFecha2.Text+"の私は、2つのだけの日付の1 ... I丼に手動たとえば'01/01/2014'ため、それが動作する日付を書く場合エラーが出ない場合は、単にデータなしでdgvをリフレッシュします。

PS:私はパラメータを使用するべきだと知っていますが、それをdgvで埋めるのは私にはわかりませんが、insert文だけで済むので、誰かが私を助けてくれたら非常に感謝される...

答えて

1

私はあなただけの単一引用符が欠落していると思う:

var select = "SELECT * from inventario where ifechaCompra > '" + diarioFecha1.Text + "' and ifechaCompra < '" + diarioFecha2.Text + "'"; 

SqlCeConnection con = new SqlCeConnection(System.Configuration.ConfigurationManager.ConnectionStrings["conexionDB"].ConnectionString); 
var dataAdapter = new SqlCeDataAdapter(select, con); 
var commandBuilder = new SqlCeCommandBuilder(dataAdapter); 
var ds = new DataSet(); 
dataAdapter.Fill(ds); 
tablaInventario.ReadOnly = true; 
tablaInventario.DataSource = ds.Tables[0]; 

私もYYYYMMDD形式で日付を使用することをお勧めします。

関連する問題