, DisplayMember ValueMember ComboBox.
comboBox1.DisplayMember = "ID";
, IDisposable (SqlConnection, SqlCommand, SqlDataAdapter) using . , :
private void button2_Click(object sender, EventArgs e)
{
var dtt = new DataTable();
using (var con3 = new SqlConnection(DBHandler.GetConnectionString()))
using (var cmd3 = new SqlCommand("ReadAllImageIDs", con3))
{
cmd3.CommandType = CommandType.StoredProcedure;
using(var dc = new SqlDataAdapter())
{
dc.SelectCommand = cmd3;
dc.Fill(dtt);
comboBox1.DataSource = dtt;
comboBox1.DisplayMember = "ID";
comboBox1.ValueMember = "ID";
}
}
}
SqlDataAdapter constructor, select, - , :
private void button2_Click(object sender, EventArgs e)
{
var dtt = new DataTable();
using (var dc = new SqlDataAdapter("ReadAllImageIDs", DBHandler.GetConnectionString()))
{
dc.SelectCommand.CommandType = CommandType.StoredProcedure;
dc.Fill(dtt);
}
comboBox1.DataSource = dtt;
comboBox1.DisplayMember = "ID";
comboBox1.ValueMember = "ID";
}
, , (DAL) . , , , :
public class ImageService
{
public static void SaveImage(string fileName)
{
byte[] img;
using(var fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
img = new byte[fileStream.Length];
fileStream.Read(img, 0, Convert.ToInt32(fileStream.Length));
}
using (var con = new SqlConnection(DBHandler.GetConnectionString()))
using (var cmd = new SqlCommand("SaveImage", con))
{
con.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@img", SqlDbType.Image).Value = img;
cmd.ExecuteNonQuery();
}
}
public static DataTable GetAllImageIDs
{
var dtt = new DataTable();
using (var dc = new SqlDataAdapter("ReadAllImageIDs", DBHandler.GetConnectionString()))
{
dc.SelectCommand.CommandType = CommandType.StoredProcedure;
dc.Fill(dtt);
}
return dtt;
}
}
:
private void button1_Click(object sender, EventArgs e)
{
try
{
OpenFileDialog fop = new OpenFileDialog();
fop.InitialDirectory = "C:\\";
fop.Filter = "[JPG,JPEG]|*.jpg";
if (fop.ShowDialog() == DialogResult.OK)
{
ImageService.SaveImage(fop.FileName);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void button2_Click(object sender, EventArgs e)
{
comboBox1.DataSource = ImageService.GetAllImageIDs();
comboBox1.DisplayMember = "ID";
comboBox1.ValueMember = "ID";
}