السلام عليكم اخوتي الاعزاء
واجهت مشكلة في المشروع وهي خزن ملف معين باي صيغة تمكنت من خزن الملف ولكن لم اتمكن من استرجاع الملف من البوتون الموجود في الداتا كرد فيو لذا ارجو من الاخوة الخبراء النظر في كودات الفورم.
وسوف ادرج كودات الفورم كاملا قد يكون الخلل في مكان معين مع الشكر الجزيل
كود :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;
namespace banat_alhssan
{
public partial class In_form : Form
{
//string folder = "";
//كود ربط الفيجوال بيسك مع sql//
SqlConnection con = new SqlConnection(@"Server= DESKTOP-KJB46EH\MORABSQLE ;Database=DB;Integrated Security=True");
SqlCommand cmd;
SqlDataAdapter Da;
DataTable dt = new DataTable();
public In_form()
{
InitializeComponent();
dataGridView1.Columns.Clear();
rasool();
shamas();
}
void rasool()
{
//تعبئة الداتا كرد فيو
cmd = new SqlCommand("select * from TB_In", con);
Da = new SqlDataAdapter(cmd);
Da.Fill(dt);
this.dataGridView1.DataSource = dt;
// dataGridView1.Columns[1].Width = 120;
dataGridView1.Columns[0].HeaderText = "التسلسل";
dataGridView1.Columns[1].HeaderText = "رقم الكتاب";
dataGridView1.Columns[2].HeaderText = "الجهة";
dataGridView1.Columns[3].HeaderText = "التاريخ";
dataGridView1.Columns[4].HeaderText = "نوع الكتاب";
dataGridView1.Columns[5].HeaderText = "العنوان";
dataGridView1.Columns[6].HeaderText = "الملاحظات";
dataGridView1.Columns[7].HeaderText = "اسم الملف";
dataGridView1.Columns[8].HeaderText = "نسخة الملف";
dataGridView1.Columns[8].Visible = false;
//تعبئة الكومبوكس
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "Organization";
// عمل بوتون
DataGridViewButtonColumn btn = new DataGridViewButtonColumn();
btn.HeaderText = "المرفقات";
btn.Text = "الملف";
btn.UseColumnTextForButtonValue = true;
dataGridView1.Columns.Add(btn);
}
void shamas()
//تعبئة الكومبوكس
{
// Da = new SqlDataAdapter("select * from TB_In ", con);
// Da.Fill(dt);
// comboBox1.DataSource = dt;
//comboBox1.DisplayMember = "Organization";
// comboBox1.ValueMember = "Id";
}
private void In__Load(object sender, EventArgs e)
{
}
private void label6_Click(object sender, EventArgs e)
{
}
private void but_out_Click(object sender, EventArgs e)
{
this.Close();
}
private void but_new_Click(object sender, EventArgs e)
{
text_Id.Clear();
text_Number.Clear();
text_Title.Clear();
text_Notes.Clear();
comb_Type.Text = "";
comboBox1.Text = "";
groupBox1.Enabled = true;
but_Save.Enabled = true;
but_add.Enabled = true;
teba();
}
void teba()
// ترقيم تلقائي
{
SqlCommand cmd = new SqlCommand("select ISNULL (MAX(Id)+1,1) from TB_In", con);
con.Open();
SqlDataReader Ra = cmd.ExecuteReader();
Ra.Read();
text_Id.Text = Ra[0].ToString();
Ra.Close();
con.Close();
}
private void but_Save_Click(object sender, EventArgs e)
{
//كود الملأ الاجباري
if (comboBox1.Text == "" || text_Number.Text == "" || dateTimePicker1.Text == "" || comb_Type.Text == "" || text_Title.Text=="")
{
MessageBox.Show("الرجاء ملأ جميع الحقول");
}
else
{
OpenFileDialog dlg = new OpenFileDialog();
DialogResult dlgRes = dlg.ShowDialog();
if (dlgRes != DialogResult.Cancel)
{
byte[] barray = System.IO.File.ReadAllBytes(dlg.FileName);
//extract the filename only from the selected path
string filename = System.IO.Path.GetFileName(dlg.FileName);
try
{
cmd = new SqlCommand("Insert into TB_In (Id,Number,Organization,Date,Type,Title,Notes,FileName,FileData) Values ('" + text_Id.Text + "','" + comboBox1.Text + "','" + text_Number.Text + "','" + dateTimePicker1.Value + "','" + comb_Type.Text + "','" + text_Title.Text + "','" + text_Notes.Text + "','" + filename + "', '" + barray + "' )", con);
//إقرا الملف
// create sql parameters
con.Open();
cmd.ExecuteNonQuery();
//MessageBox.Show("تم الحفظ النص");
}
catch (SqlException ex)
{
MessageBox.Show("تم الحفظ" + ex.Message);
}
finally
{
con.Close();
//ward();
}
text_Id.Text = "";
comboBox1.Text = "";
text_Number.Text = "";
comb_Type.Text = "";
text_Title.Text = "";
text_Notes.Text = "";
teba();
}
}
}
private SqlCommand SqlCommand(string p, SqlConnection con)
{
throw new NotImplementedException();
}
//void ward()
//{
//for (int i=0; i< listView1.Items.Count;i++)
//{
// SqlCommand cmd =new SqlCommand("Insert into TB_In (FileData,FileName,FileType) values(@fd,@fn,@ft",con);
// cmd.Parameters.AddWithValue("@fd",File.ReadAllBytes(listView1.Items[i].SubItems[0].Text));
// cmd.Parameters.AddWithValue("@fn",listView1.Items[i].SubItems[1].Text);
// cmd.Parameters.AddWithValue("@ft",listView1.Items[i].SubItems[2].Text);
// //con.Open();
// cmd.ExecuteNonQuery();
// con.Close();
////}
// MessageBox.Show("تم الحفظ الملف");
//}
private void button1_Click()
{
throw new NotImplementedException();
}
// cmd.Parameters.Add(new SqlParameter("@Id", SqlDbType.Int)).Value = text_Id.Text;
// cmd.Parameters.Add(new SqlParameter("@Number", SqlDbType.VarChar)).Value = comboBox1.Text;
// cmd.Parameters.Add(new SqlParameter("@Organization", SqlDbType.VarChar)).Value = text_Number.Text;
// cmd.Parameters.Add(new SqlParameter("@Date", SqlDbType.DateTime)).Value = dateTimePicker1.Value;
//cmd.Parameters.Add(new SqlParameter("@Type", SqlDbType.VarChar)).Value = comb_Type.Text;
//cmd.Parameters.Add(new SqlParameter("@Title", SqlDbType.VarChar)).Value = text_Title.Text;
//cmd.Parameters.Add(new SqlParameter("@Notes", SqlDbType.VarChar)).Value = text_Notes.Text;
//con.Open();
//cmd.ExecuteNonQuery();
//con.Close();
// cmd = new SqlCommand("TB_In", con);
// cmd.CommandType = CommandType.StoredProcedure;
// SqlParameter[] param = new SqlParameter[7];
// param[0]=new SqlParameter("@Id",SqlDbType.Int);
// param[0].Value=text_Id.Text;
// param[1] = new SqlParameter("@Number", SqlDbType.VarChar, 50);
// param[1].Value = comboBox1.Text;
//param[2] = new SqlParameter("@Organization", SqlDbType.VarChar, 50);
//param[2].Value = text_Number.Text;
//param[3] = new SqlParameter("@Date", SqlDbType.DateTime);
//param[3].Value = dateTimePicker1.Text;
//param[4] = new SqlParameter("@Type", SqlDbType.VarChar, 50);
//param[4].Value = comb_Type.Text;
//param[5] = new SqlParameter("@Title", SqlDbType.VarChar, 50);
//param[5].Value = text_Title.Text;
//param[6] = new SqlParameter("@Notes", SqlDbType.VarChar, 50);
//param[6].Value = text_Notes.Text;
// cmd.Parameters.AddRange(param);
//con.Open();
//cmd.ExecuteNonQuery();
//con.Close();
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void but_add_Click(object sender, EventArgs e)
{
//FolderBrowserDialog opendlg = new FolderBrowserDialog();
//if (opendlg.ShowDialog() == DialogResult.OK)
//{
// folder = opendlg.SelectedPath;
// }
//foreach(DataRow dr in dt.Rows)
//{
// string file_name = dr["FileName"].ToString();
// string file_type = dr["FileData"].ToString();
// string full_file_name = file_type;
// byte[] data = dr["FileData"] as byte[];
// File.WriteAllBytes(folder +"\\" + full_file_name, data);
//}
//MessageBox.Show("تم التحميل");
// cmd = con.CreateCommand();
//try
//{
// con.Close();
// con.Open();
// cmd.CommandText = "insert into TB_In (data) values (@data_file)";
// cmd.ExecuteNonQuery();
// con.Close();
//}
//catch (SqlException ex)
//{
// MessageBox.Show(ex.Message);
//}
//try
//{
// int f1 = 0;
// string p1;
// //p1 = openFileDialog1.FileName;
// FileStream fs = new FileStream(p1, FileMode.Open);
// byte[] buffer = new byte[fs.Length];
// fs.Read(buffer, 0, (int)fs.Length);
// fs.Close();
// string query = "insert into TB_In (data) values (@data_file)";
// SqlCommand com = new SqlCommand(query, con);
// com.Parameters.AddWithValue("@data_file", buffer);
// con.Open();
// com.ExecuteNonQuery();
// {
// f1 = 1;
// }
// if (f1 == 1)
// {
// MessageBox.Show("File saved into database");
// }
//}
//catch (Exception e1)
//{
// MessageBox.Show(e1.Message);
//}
//OpenFileDialog opn = new OpenFileDialog();
//opn.Multiselect = true;
//if (opn.ShowDialog() == DialogResult.OK)
//{
// foreach (string p in opn.FileNames)
// {
// ListViewItem itm = new ListViewItem(p);
// itm.SubItems.Add(Path.GetFileNameWithoutExtension(p));
// itm.SubItems.Add(Path.GetExtension(p));
// listView1.Items.Add(itm);
// }
//}
}
public string p { get; set; }
public string P { get; set; }
private void groupBox1_Enter(object sender, EventArgs e)
{
}
internal static void show()
{
throw new NotImplementedException();
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex ==9)
{
Frm_priv_user1 shams = new Frm_priv_user1();
shams.Show();
}
}
public string pa { get; set; }
}
}