Veritabanımdan bir tablo yazdırmaya çalışıyorum ama bu blok kodunu kullanarak filtrelemek istiyorum, yapmak istediğim iki saat arasında veri yazdırmak ama bilmiyorum' işte, saat giriş biçiminin doğru olduğu kod:C# Tarih ve saat arasında MySQL tablosundan veri alın
dscmd.Fill(dtable);
düşündüm: MySqlAdapter Nesne doldurmaya çalışırken
string horaI=null;
string horaF=null;
string[] hr1 = null;
string[] hr2 = null;
on load....
dateTimePicker1.CustomFormat = "HH:mm tt"; // Only use hours and minutes
horaI = dateTimePicker1.Value.ToString("HH:mm tt");
hr1 = horaI.Split();
string connectionstring = null;
string sql = null;
string data = null;
connectionstring = "server=127.0.0.1; database=gimnasio5; uid=root; pwd=0000000000;";
sql = "SELECT IdMembresia, Nombre, Apellido, Tipo, Fecha_Inicio,
Fecha_Vencimiento, Inscripcion, Total,Impreso_Corte FROM membresia where
Impreso_Corte='No impreso' or (Fecha_Membresia between @d1 and @d2 and
Hora_Membresia between @d3 and @d4) order by gimnasio5.membresia.IdMembresia;";
var dtable = new DataTable("membresia");
var conn = new MySql.Data.MySqlClient.MySqlConnection(connectionstring);
var cmd = new MySql.Data.MySqlClient.MySqlCommand(sql, conn);
var dscmd = new MySql.Data.MySqlClient.MySqlDataAdapter(cmd);
using (conn)
{
var param = new MySql.Data.MySqlClient.MySqlParameter("@d1", MySql.Data.MySqlClient.MySqlDbType.Date);
param.Direction = ParameterDirection.Input;
param.Value = DateTime.Today;
cmd.Parameters.Add(param);
param = new MySql.Data.MySqlClient.MySqlParameter("@d2", MySql.Data.MySqlClient.MySqlDbType.Date);
param.Direction = ParameterDirection.Input;
param.Value = DateTime.Today;
cmd.Parameters.Add(param);
//The error can be here because when I use it with dates only it works fine
//but when I add this part of code, fails.
param = new MySql.Data.MySqlClient.MySqlParameter("@d3", MySql.Data.MySqlClient.MySqlDbType.Time);
param.Direction = ParameterDirection.Input;
param.Value = hr1[0]; //Convert.ToDateTime(hr1[0]).ToString("HH:mm");
cmd.Parameters.Add(param);
param = new MySql.Data.MySqlClient.MySqlParameter("@d4", MySql.Data.MySqlClient.MySqlDbType.Time);
param.Direction = ParameterDirection.Input;
param.Value = hr2[0]; //Convert.ToDateTime(hr2[0]).ToString("HH:mm");
cmd.Parameters.Add(param);
conn.Open();
dscmd.Fill(dtable);
}
But Im geting and error: An exception of type 'MySql.Data.MySqlClient.MySqlException' occurred in MySql.Data.dll but was not handled in user code
Additional information: Fatal error encountered during command execution.
hatası alıyorum zamanını yazdığım formattı b Bunu yapmak için kullandığım kodda görebildiğiniz gibi ut, ancak her iki çalışma da, ve aynı hata kodunu döndürür. MySQL veritabanındaki sütüm, zaman türünü kaydetmek için ayarlandı, bu nedenle sorun tabloda yok. gelişmiş
12:03:00
21:34:00
Teşekkür:
veritabanında saat
böyle kaydedilir, sütun zaman türüdür. Bu yol gibiTablo yapısı
CREATE TABLE `membresia` (
`IdMembresia` int(11) NOT NULL AUTO_INCREMENT,
`Nombre` varchar(100) NOT NULL,
`Apellido` varchar(100) NOT NULL,
`Tipo` varchar(100) NOT NULL,
`Fecha_Inicio` date NOT NULL,
`Fecha_Vencimiento` date NOT NULL,
`Inscripcion` varchar(20) DEFAULT NULL,
`Estado_membresia` varchar(15) NOT NULL,
`Fecha_modificacion` date NOT NULL,
`Total` decimal(10,2) NOT NULL,
`Nota` varchar(200) DEFAULT NULL,
`Fecha_Membresia` date NOT NULL,
`Impreso_Corte` varchar(20) NOT NULL,
`IdSocio` int(11) DEFAULT NULL,
`Hora_Membresia` time NOT NULL,
PRIMARY KEY (`IdMembresia`),
KEY `L_Id2` (`IdSocio`),
KEY `F_Nombre` (`Nombre`),
KEY `F_Apelli` (`Apellido`),
CONSTRAINT `F_Apelli` FOREIGN KEY (`Apellido`) REFERENCES `socios` (`Apellido`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `F_Nombre` FOREIGN KEY (`Nombre`) REFERENCES `socios` (`Nombre`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `L_Id2` FOREIGN KEY (`IdSocio`) REFERENCES `socios` (`IdSocio`) ON DELETE CASCADE ON UPDATE CASCADE)
ENGINE=InnoDB DEFAULT CHARSET=utf8;
bizimle masa yapısını paylaşabilir misiniz? – bluetoothfx
evet yapıyı şimdi görebiliyorum – user2461687
İhtiyacınız yok Bu yöntemi kullan (bağla) ... uygulamanıza göre sadece bu sorguyu düzenleyin. Datetimepicker'dan zaman geçmelisin .... eğer probs varsa bana söyle. – bluetoothfx