using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.SqlClIEnt;

using System.Drawing;

using System.Text;

using System.Windows.Forms;


namespace DataSource


...{

public partial class Form1 : Form


...{

public Form1()


...{

InitializeComponent();

}


private DataSet ds = new DataSet();

private SqlConnection conn = null;

private SqlDataAdapter da = null;

private const string DRIVER = "server=.;database=northwind;uid=sa;pwd=sa";

private const string sql_select = "select * from region";

/**//**

* 此方法為將數據庫northwind中的region表的數據查詢出來並放入DataSet中

**/

private void Form1_Load(object sender, EventArgs e)


...{

conn = new SqlConnection(DRIVER);

da = new SqlDataAdapter(sql_select,conn);

da.Fill(ds,"table");

this.dataGridView1.DataSource = ds.Tables["table"].DefaultVIEw;

}


private bool BtnInsert() //此方法作用於添加


...{

da.InsertCommand = conn.CreateCommand();

da.InsertCommand.CommandText = "insert into region values(@id,@ption)";

da.InsertCommand.Parameters.Add("@id", SqlDbType.Int, 4, "regionid");

da.InsertCommand.Parameters.Add("@ption", SqlDbType.VarChar, 10, "regiondescription");

int count = da.Update(ds);

bool result = count > 0 ? true : false;

return result;

}

private void button1_Click(object sender, EventArgs e)


...{

if (this.BtnInsert())//調用此方法


...{

MessageBox.Show("添加成功!");

}

else


...{

MessageBox.Show("添加失敗!");

}

}



private bool BtnDelect() //此方法作用於刪除


...{

; SqlParameter sp = new SqlParameter();

da.DeleteCommand = conn.CreateCommand();

da.DeleteCommand.CommandText = "delete region where regionid=@id";

sp = da.DeleteCommand.Parameters.Add("@id", SqlDbType.Int, 4, "regionid");

sp.SourceVersion = DataRowVersion.Original;

ds.Tables["table"].Rows[this.dataGridVIEw1.CurrentRow.Index].Delete();

int count = da.Update(ds);

bool result = count > 0 ? true : false;

return result;

}

private void button2_Click(object sender, EventArgs e)


...{

if (this.BtnDelect())//調用刪除方法


...{

MessageBox.Show("刪除成功!");

}

else


...{
MessageBox.Show("刪除失敗!");

}

}



private bool BtnUpdate() //此方法作用於修改


...{

SqlParameter sp = new SqlParameter();

da.UpdateCommand = conn.CreateCommand();

da.UpdateCommand.CommandText = "update region set regionid=@id,regiondescription=@ption where regionid=@oldid";


da.UpdateCommand.Parameters.Add("@id", SqlDbType.Int, 4, "regionid");

da.UpdateCommand.Parameters.Add("@ption", SqlDbType.VarChar, 10, "regiondescription");


sp = da.UpdateCommand.Parameters.Add("@oldid", SqlDbType.Int, 4, "regionid");

sp.SourceVersion = DataRowVersion.Original;

int count = da.Update(ds);

bool result = count > 0 ? true : false;

return result;

}

private void button3_Click(object sender, EventArgs e)


...{

if (this.BtnUpdate())//調用修改方法


...{

MessageBox.Show("修改成功!");

}

else


...{

MessageBox.Show("修改失敗!");

}

}



}

}