C# Erhalten Sie Daten zwischen Datum und Stunde aus der MySQL -TabelleC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 C# Erhalten Sie Daten zwischen Datum und Stunde aus der MySQL -Tabelle

Post by Anonymous »

Ich versuche, eine Tabelle aus meiner Datenbank auszudrucken, aber ich möchte sie mit diesem Blockcode filtern. Ich möchte die Daten zwischen zwei Stunden drucken, aber ich weiß nicht ist korrekt, hier ist der Code: < /p>

Code: Select all

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);
}
< /code>
Aber ich werde und fehlerhaft: < /p>

Eine Ausnahme von Typ 'mySQL.Data.mysqlclient.mysqlexception' ' trat in mysql.data.dll auf, wurde jedoch nicht in Benutzercode
Zusätzliche Informationen behandelt: Fataler Fehler während der Befehlsausführung. < /p>
< /blockquote>
Ich erhalte den Fehler, wenn ich versuche, das MySqladapter -Objekt zu füllen: < /p>

DSCMD.Fill(dtable) ; < /p>
< /blockquote>
Ich dachte Keiner der beiden funktioniert und gibt denselben Fehlercode zurück. Die Stunde in der Datenbank wird so gespeichert. Die Spalte ist Zeittyp: < /p>

12:03:00 < /p>
< /blockquote >

21:34:00 < /p>
< /blockquote>
Tabellenstruktur < /p>
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;

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post