follower
جمعه 18 مرداد 1392, 23:56 عصر
با سلام خدمت دوستان ...
بنده یه برنامه ی ساده برای کار با Linq نوشتم. برای درج و حذفو ویرایش چند تا فیلد با فرم زیر :
http://axgig.com/images/22598987457581135461.jpg
داده ها پس از زدن دکمه ی Add در dataGridView نمایش داده می شود و حتی بعد از این که از برنامه خارج می شوم و دوباره آن را Run می کنم باز هم داده ها نمایش داده می شود ولی وقتی کل ویژوال استودیو رو می بندم و دوباره باز می کنم و برنامه رو اجرا می کنم داده ای برای نمایش نیست... کدی هم که نوشتم اینه :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace DBLinq
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var DB = new DataClasses1DataContext();
DB.Fsave(txtFname.Text, txtLname.Text, Convert.ToInt16(txtPhoneNumber.Text)
, Convert.ToInt16(txtAge.Text));
dataGridView1.DataSource = DB.Table1s;
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'dB_ProjectLinqDataSet.Table1' table. You can move, or remove it, as needed.
this.table1TableAdapter.Fill(this.dB_ProjectLinqDa taSet.Table1);
var DB = new DataClasses1DataContext();
dataGridView1.DataSource = DB.Table1s;
}
private void button1_Click_1(object sender, EventArgs e)
{
if (MessageBox.Show("Do You Want To Delete This Field?", "Delete",
MessageBoxButtons.YesNo,MessageBoxIcon.Question) == DialogResult.Yes)
{
var DB = new DataClasses1DataContext();
DB.Fdelete(Convert.ToInt32(dataGridView1.CurrentRo w.Cells["PhoneNumber"].
Value));
dataGridView1.DataSource = DB.Table1s; //For Refresh Data Grid View After Delete Field
}
}
private void button1_Click_2(object sender, EventArgs e)
{
if (dataGridView1.RowCount > 0)
{
var Fr = new Form2();
Fr.txtFname.Text = dataGridView1.CurrentRow.Cells["FirstName"].Value.ToString();
Fr.txtLname.Text = dataGridView1.CurrentRow.Cells["LastName"].Value.ToString();
Fr.txtPhoneNumber.Text = dataGridView1.CurrentRow.Cells["PhoneNumber"].Value.ToString();
Fr.txtAge.Text = dataGridView1.CurrentRow.Cells["Age"].Value.ToString();
Fr.ShowDialog();
var DB = new DataClasses1DataContext();
dataGridView1.DataSource = DB.Table1s;
}
}
private void label1_Click(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
var DB = new DataClasses1DataContext();
if (txtSearch.Text == "")
dataGridView1.DataSource = DB.Table1s;
else
dataGridView1.DataSource = DB.Table1s.Where(c => c.LastName.Substring(0,
txtSearch.Text.Length) == txtSearch.Text).Select(c => c);
}
private void button1_Click_3(object sender, EventArgs e)
{
var frm = new frmreport();
frm.ShowDialog();
}
}
}
یه نکته ی دیگه این که هیچ داده ای توی جدول پایگاه داده هم ذخیره نمی شه . (از روش نوشتن پروسیجر برای ذخیره و ... استفاده کردم) ...
http://axgig.com/images/13635077414740983056.jpg
بنده یه برنامه ی ساده برای کار با Linq نوشتم. برای درج و حذفو ویرایش چند تا فیلد با فرم زیر :
http://axgig.com/images/22598987457581135461.jpg
داده ها پس از زدن دکمه ی Add در dataGridView نمایش داده می شود و حتی بعد از این که از برنامه خارج می شوم و دوباره آن را Run می کنم باز هم داده ها نمایش داده می شود ولی وقتی کل ویژوال استودیو رو می بندم و دوباره باز می کنم و برنامه رو اجرا می کنم داده ای برای نمایش نیست... کدی هم که نوشتم اینه :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace DBLinq
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var DB = new DataClasses1DataContext();
DB.Fsave(txtFname.Text, txtLname.Text, Convert.ToInt16(txtPhoneNumber.Text)
, Convert.ToInt16(txtAge.Text));
dataGridView1.DataSource = DB.Table1s;
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'dB_ProjectLinqDataSet.Table1' table. You can move, or remove it, as needed.
this.table1TableAdapter.Fill(this.dB_ProjectLinqDa taSet.Table1);
var DB = new DataClasses1DataContext();
dataGridView1.DataSource = DB.Table1s;
}
private void button1_Click_1(object sender, EventArgs e)
{
if (MessageBox.Show("Do You Want To Delete This Field?", "Delete",
MessageBoxButtons.YesNo,MessageBoxIcon.Question) == DialogResult.Yes)
{
var DB = new DataClasses1DataContext();
DB.Fdelete(Convert.ToInt32(dataGridView1.CurrentRo w.Cells["PhoneNumber"].
Value));
dataGridView1.DataSource = DB.Table1s; //For Refresh Data Grid View After Delete Field
}
}
private void button1_Click_2(object sender, EventArgs e)
{
if (dataGridView1.RowCount > 0)
{
var Fr = new Form2();
Fr.txtFname.Text = dataGridView1.CurrentRow.Cells["FirstName"].Value.ToString();
Fr.txtLname.Text = dataGridView1.CurrentRow.Cells["LastName"].Value.ToString();
Fr.txtPhoneNumber.Text = dataGridView1.CurrentRow.Cells["PhoneNumber"].Value.ToString();
Fr.txtAge.Text = dataGridView1.CurrentRow.Cells["Age"].Value.ToString();
Fr.ShowDialog();
var DB = new DataClasses1DataContext();
dataGridView1.DataSource = DB.Table1s;
}
}
private void label1_Click(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
var DB = new DataClasses1DataContext();
if (txtSearch.Text == "")
dataGridView1.DataSource = DB.Table1s;
else
dataGridView1.DataSource = DB.Table1s.Where(c => c.LastName.Substring(0,
txtSearch.Text.Length) == txtSearch.Text).Select(c => c);
}
private void button1_Click_3(object sender, EventArgs e)
{
var frm = new frmreport();
frm.ShowDialog();
}
}
}
یه نکته ی دیگه این که هیچ داده ای توی جدول پایگاه داده هم ذخیره نمی شه . (از روش نوشتن پروسیجر برای ذخیره و ... استفاده کردم) ...
http://axgig.com/images/13635077414740983056.jpg