古詩詞大全網 - 成語用法 - c#連接數據庫後用窗體顯示數據庫信息

c#連接數據庫後用窗體顯示數據庫信息

給妳壹個參考:

----------------------

第壹,

1.設置數據庫可以遠程訪問(以sqlserver為例)

開始菜單---程序--- Microsoft sql server 2005---配置工具--sqlserver 外圍配置器

---服務和連接的外圍配置器

打開 MSSqlServer---DataBase Engine--遠程連接

選擇本地連接和遠程連接,再選擇同時使用TCP/IP 和named pipes 確定

2.創建Winform 應用程序

3.添加應用程序配置文件 App.config 文件,在

<configuration>

</configuration>

之間加入

<connectionStrings>

<add name="dbCon" connectionString="Data Source=127.0.0.1;Initial Catalog=Northwind;User ID=sa;PassWord=sa" providerName="System.Data.SqlClient"/>

</connectionStrings>

其中IP地址和數據庫名稱、用戶名和密碼需要改成妳本地實際的

第二,

1.數據庫建表,

create table mytable(

pkid nvarchar(40) not null,

a nvarchar(40) null

)

insert into mytable(pkid,a) values(newid(),'測試')

2.新建對應此表的實體類

[Serializable]

public class mytable

{

private String _pkid = "";

public String pkid

{

get { return _pkid; }

set { _pkid = value; }

}

private String _a = "";

public String a

{

get { return _a; }

set { _a = value; }

}

}

3.新建操作類:

public class mytableDAO

{

private String _ConnectionString;

public mytableDAO(String ConnectionString)

{

this._ConnectionString = ConnectionString;

}

public int New(Entities.MsgRecord obj)

{

String sql = "insert into mytable(pkid,a) values(@pkid,@a)";

SqlConnection cn = new SqlConnection(this._ConnectionString);

SqlCommand cmd = new SqlCommand(sql, cn);

cmd.Parameters.AddWithValue("@a", obj.a);

cmd.Parameters.AddWithValue("@pkid",

String.Empty.Equals(obj.pkid) ? System.Guid.NewGuid().ToString() : obj.pkid);

try

{

if (cn.State != ConnectionState.Open)

cn.Open();

return cmd.ExecuteNonQuery();

}

catch

{

return -1;

}

finally

{

if (cn.State != ConnectionState.Closed)

cn.Close();

}

}

public int Update(Entities.mytable obj)

{

String sql = "Update mytable Set a=@a Where pkid=@ObjectID";

SqlConnection cn = new SqlConnection(this._ConnectionString);

SqlCommand cmd = new SqlCommand(sql, cn);

cmd.Parameters.AddWithValue("@a", obj.a);

cmd.Parameters.AddWithValue("@pkid", obj.pkid);

try

{

if (cn.State != ConnectionState.Open)

cn.Open();

return cmd.ExecuteNonQuery();

}

catch

{

return -1;

}

finally

{

if (cn.State != ConnectionState.Closed)

cn.Close();

}

}

public int Del(Entities.mytable obj)

{

String sql = "delete from mytable Where pkid=@ObjectID";

SqlConnection cn = new SqlConnection(this._ConnectionString);

SqlCommand cmd = new SqlCommand(sql, cn);

cmd.Parameters.AddWithValue("@ObjectID", obj.pkid);

try

{

if (cn.State != ConnectionState.Open)

cn.Open();

return cmd.ExecuteNonQuery();

}

catch

{

return -1;

}

finally

{

if (cn.State != ConnectionState.Closed)

cn.Close();

}

}

public int Del(String where)

{

String sql = String.Format("delete from mytable Where {0}", where.ToLower().Replace("update", "").Replace("delete", ""));

SqlConnection cn = new SqlConnection(this._ConnectionString);

SqlCommand cmd = new SqlCommand(sql, cn);

try

{

if (cn.State != ConnectionState.Open)

cn.Open();

return cmd.ExecuteNonQuery();

}

catch

{

return -1;

}

finally

{

if (cn.State != ConnectionState.Closed)

cn.Close();

}

}

public DataTable Query(String where)

{

String sql = String.Format("select * from mytable Where {0}", where.ToLower().Replace("update", "").Replace("delete", "").Replace("insert", "").Replace(";", "").Replace("--", "").Replace("exec", ""));

try

{

SqlDataAdapter da = new SqlDataAdapter(sql, new SqlConnection(this._ConnectionString));

DataTable dt = new DataTable();

da.Fill(dt);

return dt;

}

catch

{

return null;

}

}

}

4.在ui中調用:

4.1 新增:

private void NewData()

{

String conn=System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString

mytableDao dao=new mytableDao(conn);

mytable obj=new mytable();

obj.a=this.txtbox_a.Text;

obj.b=this.txtbox_b.Text;

obj.c=this.txtbox_c.Text;

dao.New(obj);

}

4.2 取數據綁定GridView

private void LoadData_InitGridView()

{

String conn=System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString

mytableDao dao=new mytableDao(conn);

Table dt=dao.Query(String.Format(" a ='{0}'",this.txtbox_a.Text));

//gridview

this.GridView1.DataSource=dt;

this.GridView1.DataBind();

//textbox control

this.textbox_a.Text=dt.Rows[0][0].ToString();

}

4.3刪除

private void Del()

{

String conn=System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString

mytableDao dao=new mytableDao(conn);

//根據條件刪除指定記錄

dao.Del(where);

}

4.4更新

private void Update()

{

String conn=System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString

mytableDao dao=new mytableDao(conn);

dao.Update(obj);//obj 為mytable的壹個實例:需要更新的

}

5.配置文件中連接信息

<connectionStrings>

<add name="dbCon" connectionString="Data Source=127.0.0.1;Initial Catalog=Northwind;User ID=sa;PassWord=sa" providerName="System.Data.SqlClient"/>

</connectionStrings>

6.讀取連接信息

System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString