Presumo tu usi un datareader ed un command, indipendentemente dalla tecnologia
SqlCommand, OleDbCommand, OdbcCommand, OracleCommand o qualsiasi altro db. E' + facile non avere problemi con i filtri se si utilizzano i parametri.
Trasformando la query in:
SELECT * FROM TABELLA WHERE MARCAPEZZO LIKE '%*%' AND DATA <= @DATA
Se in SQL Server oppure in
SELECT * FROM TABELLA WHERE MARCAPEZZO LIKE '*' AND DATA <= ?
in OleDb oppure ODBC
E poi usi questo codice
SqlParameter[] parametri = new SqlParameter[] {
new SqlParameter( "@DATA", mydatetimepicker.Value )
};
SqlConnection cnn = new SqlConnection( connectionstring );
//Connectionstring deve contenere ovviamente la stringa di connessione a DB
SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
cmd.CommandText = stringaSql
cmd.Parameters.Add(parametri);
SqlDataReader dr = cmd.Executereader();
Dal Datareader puoi caricare una datatable che può divenire la datasource della
tua lista.
Se il DB non è SQL Server basta sostituire OleDb a SQL e togliere la chiocciola
davanti al nome del parametro DATA.
Spero questo possa darti qualche idea
Saluti
Sabrina
Inserito da giobaxx su 15 gen 2009 11.51
CIAO!!....da utente inesperto potete aiutarmi con la sintassi della query utilizzando il datetimepicker??
Allora il linguaggio che sto utilizzando è il visual c# 2008, non sono un programmatore ma in passato qualcosina avevo fatto e a lavoro mi hanno chiesto di fare un programmino per gestire un database....una cosa abbastanza semplice.
Volevo costruire una query da richiamare tutte le volte che necessitavo di filtrare i dati e tutto funziona fino a quando non utilizzo il datetimepcker per filtrare i dati:
selezionando ad esempio il 15/05/2008 dal datetimepicker il valore della query mi viene
" marcapezzo LIKE'*'AND data <=#15/05/2008 0.00.00# "e quando eseguo il
qFotoBindingSource.Filter = filtercon filter appunto "marcapezzo LIKE'*'AND data <=#15/05/2008 0.00.00#" viene fuori il seguente errore:
String was not recognized as a valid DateTime.
potete aiutarmi a capire quale è la sintassi giusta???
private void FilterChanged(object sender, EventArgs e)
{
string filter = "";
if (rdDescrizione.Checked ) { filter += " descrizione LIKE'" + textBox1.Text + "*'"; };
if (rdMarcaPezzo.Checked ) { filter += " marcapezzo LIKE'" + textBox1.Text + "*'"; };
if (chkCost.Checked && comboBox1.Text != "") { filter += "AND costruzione =' " + comboBox1.Text + "'"; }
if (chkData.Checked)
{
filter += "AND data <=#" + dateTimePicker1.Value.Date + "#";
}
qFotoBindingSource.Filter = filter;
}