bonjour, sauriez-vous comment déterminer le nombre d'enregistrement dans une base de données access et comme récupéré une image dans une base de données sans devoir créer un fichier avec filestream.
j'essaie de crée une form contenant 3 éléments la position de l'enregistrement, une image et un commentaire me permettant supprimer la ligne de ma tab et de me déplacer entre les enregistrements)
merci pour toute futur suggestion
private void next_Click(object sender, System.EventArgs e) {
if (pos <= 1) {
button3.Enabled =
false; button4.Enabled =
false; }
else {
button3.Enabled =
true; button4.Enabled =
true; }
// Construct a SQL string and a connection object string sql = "SELECT * FROM Users"; OleDbConnection conn =
new OleDbConnection(); conn.ConnectionString = connectionString;
// Open the connection if(conn.State != ConnectionState.Open) conn.Open();
// Create a data adapter and data set OleDbDataAdapter adapter =
new OleDbDataAdapter(sql, conn); OleDbCommandBuilder cmdBuilder =
new OleDbCommandBuilder(adapter); DataSet ds =
new DataSet("Users"); adapter.MissingSchemaAction =
MissingSchemaAction.AddWithKey;
// Fill the data adapter adapter.Fill(ds,"Users");
// Get the first row of the table DataRow row = ds.Tables["Users"].Rows[pos];
// Read data in a stream byte[] rawData = new byte[0]; label3.Text = Convert.ToString(row["UserID"]);
rawData = (
byte[])row["UserPhoto"]; int len = new int(); len = rawData.GetUpperBound(0);
// Save rawData as a bitmap FileStream fs =
new FileStream(savedImageName + pos + ".bmp", FileMode.OpenOrCreate, FileAccess.Write); fs.Write(rawData, 0, len);
//Close the stream fs.Flush();
fs.Close();
// View the image in a picture box curImage = Image.FromFile(savedImageName + pos + ".bmp");
pictureBox1.Image = curImage;
textBox1.Text = (
string)row["UserLegends"]; checkBox1.Checked = (
bool)row["UserSelec"]; // Clean up connection pos++;
if(conn != null) {
if(conn.State == ConnectionState.Open) conn.Close();
// Dispose of connection conn.Dispose();
}
}
private
void delete_Click(object sender, System.EventArgs e) {
if ( pos >= 1) {
string sql = "SELECT * FROM Users"; OleDbConnection conn =
new OleDbConnection(); conn.ConnectionString = connectionString;
// Open the connection if(conn.State != ConnectionState.Open) conn.Open();
// Create a data adapter and data set OleDbDataAdapter adapter =
new OleDbDataAdapter(sql, conn); OleDbCommandBuilder cmdBuilder =
new OleDbCommandBuilder(adapter); DataSet ds =
new DataSet("Users"); adapter.MissingSchemaAction =
MissingSchemaAction.AddWithKey;
// Fill the data adapter adapter.Fill(ds,"Users");
DataRow row = ds.Tables["Users"].Rows[pos];
DataRow findRow = ds.Tables["users"].Rows.Find(Convert.ToString(row["UserID"]));
if (findRow != null) {
findRow.Delete();
adapter.Update(ds, "Users");
}
button3.Enabled =
true; button4.Enabled =
true; // Clean up connection if(conn != null) {
if(conn.State == ConnectionState.Open) conn.Close();
// Dispose of connection conn.Dispose();
}
}
else {
button3.Enabled =
false; button4.Enabled =
false; }
}