|
|
|
C# ช่วยด้วยครับ จะอัพโหลดไฟล์ pdf ไปใส่ตารางยังไง .. |
|
|
|
|
|
|
|
โค้ดทั้งหมดครับ
Code (C#)
namespace Project_cs
{
public partial class ข้อมูลลูกค้า : Form
{
public ข้อมูลลูกค้า()
{
InitializeComponent();
}
SqlConnection cus = new SqlConnection("Server=DESKTOP-35EE4RH\\SQLEXPRESS; Database=Projectcs; Trusted_Connection=True;");
private void ข้อมูลลูกค้า_Load(object sender, EventArgs e)
{
try
{
cus.Open();
Showdata();
dataGridViewcus.RowsDefaultCellStyle.BackColor = Color.White;
dataGridViewcus.AlternatingRowsDefaultCellStyle.BackColor = Color.PowderBlue;
}
catch
{
MessageBox.Show("Error");
}
}
private void Showdata()
{
string sql = "SELECT * FROM Table_cus";
SqlCommand com = new SqlCommand(sql, cus);
SqlDataReader dr = com.ExecuteReader();
DataTable tb = new DataTable();
if (dr.HasRows)
{
tb.Load(dr);
dataGridViewcus.DataSource = tb;
}
else
{
dataGridViewcus.DataSource = null;
}
dr.Close();
}
private void Cleardata()
{
}
private void btnsave1_Click(object sender, EventArgs e)
{
string sql = "INSERT INTO Table_cus (cus_id,cus_name,cus_date,cus_address,cus_pdf) VALUES ('" + txtcusid.Text.Trim() + "','" + txtcusname.Text.Trim() + "','" + dateTimePickercus.Text.Trim() + "','" + txtcusadd.Text.Trim() + "','" + txtcusadd.Text.Trim() + "')";
SqlCommand com = new SqlCommand(sql, cus);
com.ExecuteNonQuery();
MessageBox.Show("บันทึกเรียบร้อยแล้ว");
Showdata();
Cleardata();
}
private void btnลบ_Click(object sender, EventArgs e)
{
if (txtcusid.Text.Trim() == "") { MessageBox.Show("กรุณาเลือกข้อมูล"); return; }
if (MessageBox.Show("คุณต้องการลบข้อมูลใช่หรือไม่ !!!", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
{
String sql = "DELETE FROM Table_cus WHERE cus_id='" + txtcusid.Text.Trim() + "'";
SqlCommand com = new SqlCommand(sql, cus);
com.ExecuteNonQuery();
MessageBox.Show("ลบข้อมูลเรียบร้อยแล้ว");
Showdata();
Cleardata();
}
}
private void dataGridViewcus_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void dataGridViewcus_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.RowIndex == -1) { return; }
txtcusid.Text = dataGridViewcus.Rows[e.RowIndex].Cells[0].Value.ToString();
txtcusname.Text = dataGridViewcus.Rows[e.RowIndex].Cells[1].Value.ToString();
dateTimePickercus.Text = dataGridViewcus.Rows[e.RowIndex].Cells[2].Value.ToString();
txtcusadd.Text = dataGridViewcus.Rows[e.RowIndex].Cells[3].Value.ToString();
}
OpenFileDialog ofd = new OpenFileDialog();
private void btnอัพโหลด_Click(object sender, EventArgs e)
{
ofd.Filter = "PDF |*.pdf";
if (ofd.ShowDialog()==DialogResult.OK)
{
txtLoc.Text = ofd.FileName;
txt_1.Text = ofd.SafeFileName;
}
}
}
}
|
|
|
|
|
Date :
2017-02-12 16:04:14 |
By :
natthasit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ใช้วิธีแบบปกตินะครับ แต่อาจจะ Save ชื่อไฟล์ก็พอนะครับ
|
|
|
|
|
Date :
2017-02-14 10:26:35 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตาม แอดมิน แหละครับ
datatype cus_pdf เป็น text บันทึกไปเป็น พาท บ้านๆ เหมือน ชื่อ ลูกค้า นี่แหละ
คำถามต่อมา แล้วมันจะใช้งานยังไงละครับ
ท่านก็เขียนโค้ดด้านในประมาณนี้
Code (C#)
private void DataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 2)
System.Diagnostics.Process.Start("" + DataGridView[2, e.RowIndex].Value);
//ประมาณว่า ถ้าตรงกับ Column ไฟล์ นั้นๆก็สั่งเปิดมันโลด
}
|
|
|
|
|
Date :
2017-02-14 10:45:29 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เกิบเฉพาะชื่อไฟล์พอครับ ส่วนตัวไฟล์เอาไปโยนไว้ที๋โฟลเดอร์อื่นๆ
|
|
|
|
|
Date :
2017-02-14 15:28:45 |
By :
golfkub |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าผมเดาไม่ผิด มี 5 ช่องใช่รึป่าวครับ
e.ColumnIndex == 5
จึง error
ถ้าใช่ ให้ใช้
e.ColumnIndex == 4
ปล. ผมลืมบอกไป ใช้ system.io.file.exists(file) เพื่อตรวจสอบด้วยว่า มีไฟล์อยู่รึป่าว
ประมาณนี้
Code (C#)
private void dataGridViewcus_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 5 && system.io.file.exists("" + dataGridViewcus[5, e.RowIndex].Value))
System.Diagnostics.Process.Start("" + dataGridViewcus[5, e.RowIndex].Value);
}
|
|
|
|
|
Date :
2017-02-14 20:34:01 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
error ว่ากระไรครับ
|
|
|
|
|
Date :
2017-02-14 22:24:14 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 11 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-02-14 22:24:14
รายละเอียดของการตอบ ::
ตอบความคิดเห็นที่ : 11 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-02-14 22:24:14
รายละเอียดของการตอบ ::
โค้ดน่ะครับ
Code (C#)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Project_cs
{
public partial class ข้อมูลลูกค้า : Form
{
public ข้อมูลลูกค้า()
{
InitializeComponent();
}
SqlConnection cus = new SqlConnection("Server=DESKTOP-35EE4RH\\SQLEXPRESS; Database=Projectcs; Trusted_Connection=True;");
private void ข้อมูลลูกค้า_Load(object sender, EventArgs e)
{
try
{
cus.Open();
Showdata();
dataGridViewcus.RowsDefaultCellStyle.BackColor = Color.White;
dataGridViewcus.AlternatingRowsDefaultCellStyle.BackColor = Color.PowderBlue;
}
catch
{
MessageBox.Show("Error");
}
}
private void Showdata()
{
string sql = "SELECT * FROM Table_cus3";
SqlCommand com = new SqlCommand(sql, cus);
SqlDataReader dr = com.ExecuteReader();
DataTable tb = new DataTable();
if (dr.HasRows)
{
tb.Load(dr);
dataGridViewcus.DataSource = tb;
}
else
{
dataGridViewcus.DataSource = null;
}
dr.Close();
}
private void Cleardata()
{
}
private void btnsave1_Click(object sender, EventArgs e)
{
string sql = "INSERT INTO Table_cus3(cus_id,cus_name,cus_date,cus_address,cus_pdf) VALUES ('" + txtcusid.Text.Trim() + "','" + txtcusname.Text.Trim() + "','" + dateTimePickercus.Text.Trim() + "','" + txtcusadd.Text.Trim() + "','" + txt_11.Text.Trim() + "')";
SqlCommand com = new SqlCommand(sql, cus);
com.ExecuteNonQuery();
MessageBox.Show("บันทึกเรียบร้อยแล้ว");
Showdata();
Cleardata();
}
private void btnลบ_Click(object sender, EventArgs e)
{
if (txtcusid.Text.Trim() == "") { MessageBox.Show("กรุณาเลือกข้อมูล"); return; }
if (MessageBox.Show("คุณต้องการลบข้อมูลใช่หรือไม่ !!!", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
{
String sql = "DELETE FROM Table_cus3 WHERE cus_id='" + txtcusid.Text.Trim() + "'";
SqlCommand com = new SqlCommand(sql, cus);
com.ExecuteNonQuery();
MessageBox.Show("ลบข้อมูลเรียบร้อยแล้ว");
Showdata();
Cleardata();
}
}
private void dataGridViewcus_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 4 && System.IO.File.Exists("" + dataGridViewcus[4, e.RowIndex].Value))
System.Diagnostics.Process.Start("" + dataGridViewcus[4, e.RowIndex].Value);
}
OpenFileDialog ofd = new OpenFileDialog();
private void btnอัพโหลด_Click(object sender, EventArgs e)
{
ofd.Filter = "PDF |*.pdf";
if (ofd.ShowDialog()==DialogResult.OK)
{
txt_11.Text = ofd.SafeFileName;
}
}
private void groupBox1_Enter(object sender, EventArgs e)
{
}
private void txt_11_TextChanged(object sender, EventArgs e)
{
}
private void dataGridViewcus_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.RowIndex == -1) { return; }
txtcusid.Text = dataGridViewcus.Rows[e.RowIndex].Cells[0].Value.ToString();
txtcusname.Text = dataGridViewcus.Rows[e.RowIndex].Cells[1].Value.ToString();
dateTimePickercus.Text = dataGridViewcus.Rows[e.RowIndex].Cells[2].Value.ToString();
txtcusadd.Text = dataGridViewcus.Rows[e.RowIndex].Cells[3].Value.ToString();
txt_11.Text = dataGridViewcus.Rows[e.RowIndex].Cells[4].Value.ToString();
}
private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e)
{
}
}
}
ไม่ขึ้น เออเร่อ แต่คลิกดูข้อมูลไม่ได้
SQL
|
|
|
|
|
Date :
2017-02-14 22:36:34 |
By :
natthasit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่ดูไม่ได้เพราะ
System.IO.File.Exists("" + dataGridViewcus[4, e.RowIndex].Value)
แสดงว่าไม่สามารถเปิด ไฟล์ หรือ พาท นั่นเอง
ไม่งั้นลอง
messegebox.show(e.ColumnIndex +" " + dataGridViewcus[4, e.RowIndex].Value)
ดูว่าตรงกับที่ต้องการไม๊นะครับ
|
|
|
|
|
Date :
2017-02-14 23:37:55 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีข้อแนะนำเล้กๆน้อยๆนะครับ
ถ้าเกี่ยวกับไฟล์ที่ต้องอ้างกันเยอะๆ แบ่งแยกชัดเจน เช่น ไฟล์ลูกค้า ไฟล์พนักงาน สินค้าบางตัว
แนะนำให้แยกเก็บเป็นโฟลเดอร์ของ ชื่อนั้นๆ จะสะดวกต่อการจัดการมากขึ้น
เพราะการเก็บรวมถ้า database ล่ม ก็ต้องมาเสียเวลาตรวจเช็คไฟล์พวกนี้ใหม่
แต่ถ้าแยก ต่อให้ล่มเป็น 1000 รอบ มันก็ยังจัดหมวดหมู่ง่ายอยู่ดี(เพราะมันอยู่ในโฟลเดอร์ ของชื่อนั้นๆ)
|
|
|
|
|
Date :
2017-02-15 08:21:06 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|