asp.net技术文章
来源:互联网 发布:安知玉如意txt 编辑:程序博客网 时间:2024/04/25 13:41
ASP.NET技术文章
1. ADO.NET数据库实例教程
ADO.NET数据库编程比较复杂,名目繁多的类、对象、属性、方法让每一个编程者都感觉恼火。本文旨在介绍ASP.NET Beta2数据库编程的主要内容,帮助编程者最快的了解ADO.NET数据库编程的精髓。
一、 Managed Providers
如果你是初学者,可能你会问,什么是"Managed Providers"?
Managed Providers提供简单的方法连接和访问数据库,有点类似于数据库连接,当然又比它强的多。Managed Providers提供OleDb和SQL Server两种编程接口。因为SQL Server是微软自己的产品,因此,专门提供了一个针对SQL Server的接口,使用这个接口访问SQL Server的效率应该比使用OleDb强。
NameSpaces
本文所有的例子程序都需要使用以下NameSpaces:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Oledb" %>
Connection
为了连接数据库,必须使用OleDbConnection:
Dim objConn as New OleDBConnection
("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:/sff/site/db/users.mdb")
当然,你也可以将具体的连接方法作为变量使用,在连接数据库以后,必须打开数据库:
objConn.Open()
这样,就可以使用数据库了,一般在最后,我们都要求关闭数据库连接:
objConn.Close()
objConn=Nothing
Command
连接数据库以后,就可以发送命令对数据库进行操作了,OleDbCommand允许发送命令对数据库进行操作。根据发送的SQL语句,我们可以对数据库进行几乎所有操作。
Dim objCmd as New OleDbCommand("SELECT * From users", objConn)
以上语句建立Command,根据习惯不同,也可以使用以下方法:
Dim objCmd as New OleDbCommand()
objCmd.Connection = objConn
objCmd.CommandText = "SELECT * FROM users"
还可以这样:
Dim objCmd as New OleDbCommand(SQL String, connection string)
仔细观察上面的语句,我们发现在定义OleDbCommand时,可以同时使用数据库连接OleDbConnection和数据库连接语句。以上代码并没有执行SQL语句,现在我们来看到底怎样执行:
ExecuteNonQuery
当执行没有返回数据的操作的时候,我们可以使用以上方法,比如插入数据、更新数据等操作,具体这样执行:
objCmd.ExecuteNoQuery
ExecuteReader
在需要一个Data Reader的时候,我们可以使用以上方法,具体这样执行:
Dim objRd as OleDbDataReader
objRd = objCmd.ExeuteReader
ExecuteScalar
使用ExecuteScalar方法来取得一个单个地返回数据,比如对数据的统计。
Data Reader
OleDbReader是专门用来读取数据的对象,这个对象除了读数据以外,不能做其他任何数据库操作。尽管比较简单,但是在用来浏览数据的时候效率是非常高的。
Dim objReader as OleDbDataReader
objReader = objCmd.ExecuteReader
While objReader.Read
Response.Write(objReader.GetString(0) & "<br>")
End While
以上语句读取Command的返回结果的第一个字段,这个字段是字符型数据。我们可以使用其他方法取得各种类型的数据:
GetBoolean(x)
GetByte(x)
GetBytes(x)
GetChar(x)
GetChars(x)
GetDataTypeName(x) -取得数据类型
GetDateTime(x)
GetDecimal(x)
GetDefaultStream(x)
GetDouble(x)
GetFieldType(x)
GetFloat(x)
GetGuid(x)
GetInt16(x)
GetInt32(x)
GetInt64(x)
GetName(x) - 取得字段名
GetOrdinal(name) -根据字段名取得字段序号
GetString(x)
GetTimeSpan(x)
GetValue(x)
GetValues(values())
以上方法都是Command返回数据。
Data Adapter
OleDbDataAdapter取得数据并且数据与DataSet之间建一座桥梁,可以这样使用:
Dim objAdapter as New OleDbDataAdapter("SELECT * FROM users", objConn)
实现方法有点类似于OleDbCommand。OleDbAdapter可以填充DataSet,也可以修改数据然后提以实现对具体数据的修改:
Dim ds as Dataset = New DataSet()
objAdapter.Fill(ds, "users")
以上语句实现将SQL语句取得的Users表的数据填充到DataSet。
Mappings
Mappings可以实现对DataSet的列取别名:
objAdapter.TableMappings.Add("adbtable", "users")
With objAdapter.TableMappings(0).ColumnMappings
.Add("PID", "ID")
.Add("LastName", "LName")
.Add("StreetAddress", "Addy")
End With
objAdapter.Fill(ds)
当使用了以上代码以后,就可以用ds.Tables("users")来代替ds.Tables("adbtable")了。
Command Builder
在下一章我们可以看到Command Builder的具体使用和强大功能。
练习:
如果你能理解以下代码,你就可以看下一章的内容了:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Oledb" %>
<script language="VB" runat="server">
Sub Page_Load(sender as object, e as eventargs)
Dim objConn as New OleDBConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:/sff/site/db/users.mdb")
objConn.Open()
Dim ds as Dataset = New DataSet()
Dim objAdapter as New OleDbDataAdapter("SELECT * FROM users", objConn)
Dim objCmdBld As New OleDbCommandBuilder(objAdapter)
objAdapter.Fill(ds, "users")
End Sub
</script>
2. 访问数据库(Access)
我们这次同样通过例子来看,其中我们用到了System.Data.OleDb.OleDbCommand类,其实,我们在前面执行SELECT的时候也用到了!
下面我写出我的程序:
//修改留言本中特定的数据
public Boolean UpdateNote(Notebook note)
{
Boolean tempvalue=false;
string sqlstr=""; //当时在这里定义,是为了在出现异常的时候看看我的SQL语句是否正确
try
{
//用到了我前面写的那个得到数据库连接的函数
OleDbConnection conn = getConn(); //getConn():得到连接对象,
conn.Open();
//确定我们需要执行的SQL语句,本处是UPDATE语句!
sqlstr = "UPDATE notes SET ";
sqlstr += "title='" + note.title + "',";
sqlstr += "content='" + DealString(note.content) +"',";
sqlstr += "author='" + note.author + "',";
sqlstr += "email='" +note.email +"',";
sqlstr += "http='" +note.http +"'";
//sqlstr += "pic='" +note.pic +"'";
sqlstr += " where id=" + note.id;
//定义command对象,并执行相应的SQL语句
OleDbCommand myCommand = new OleDbCommand(sqlstr,conn);
myCommand.ExecuteNonQuery(); //执行SELECT的时候我们是用的ExecuteReader()
conn.Close();
//假如执行成功,则,返回TRUE,否则,返回FALSE
tempvalue=true;
return(tempvalue);
}
catch(Exception e)
{
throw(new Exception("数据库更新出错:" + sqlstr + "/r" + e.Message))
} }
这个例子是对于特定ID好的记录进行UPDATE操作,具体解释我都写在了程序中,其中的与数据库有关的语句是try内部的那些!
其实,我们同样可以通过上面的那种模式执行INSERT、DELETE操作,下面我把我的程序列到下面!
/*删除特定记录,通过string类型的ID删除字段,在我的程序中,我把这个函数重载了,这样我们就可以通过INT类型的ID参数来删除特定的字段了*/
public Boolean DelNote(string delid)
{
Boolean tempvalue=false;
string sqlstr="";
//连接数据库
try
{
OleDbConnection conn = getConn(); //getConn():得到连接对象
conn.Open();
sqlstr = "delete * from notes where id=" + delid;
//定义command对象,并执行相应的SQL语句
OleDbCommand myCommand = new OleDbCommand(sqlstr,conn);
myCommand.ExecuteNonQuery();
conn.Close();
//假如执行成功,则,返回TRUE,否则,返回FALSE
tempvalue=true;
return(tempvalue);
}
catch(Exception e)
{
throw(new Exception("数据库更新出错:" + sqlstr + "/r" + e.Message))
}
}
细心的朋友们应该能看到,其实这个程序和上面的相比,只是哪个SQL语句不同而已,其他的都基本一样的!同样的,我们想在数据库中插入新的记录的时候也可以用这样的方式,程序如下:
//向留言本中添加数据
public Boolean AddNote(Notebook note)
{
Boolean tempvalue=false; //定义返回值,并设置初值
//下面把note中的数据添加到数据库中!
try{
OleDbConnection conn = getConn(); //getConn():得到连接对象
conn.Open();
//设置SQL语句
string insertstr="INSERT INTO notes(title, content, author, email, http, pic ,hits,posttime) VALUES ('";
insertstr += note.title +"', '";
insertstr += DealString(note.content) + "','";
insertstr += note.author + "','";
insertstr += note.email + "','";
insertstr += note.http + "','";
insertstr += note.pic + "',";
insertstr += note.hits + ",'";
insertstr += note.posttime +"')";
OleDbCommand insertcmd = new OleDbCommand(insertstr,conn)
insertcmd.ExecuteNonQuery()
conn.Close();
tempvalue=true;
}
catch(Exception e)
{
throw(new Exception("数据库出错:" + e.Message))
}
return(tempvalue);
}
//处理数据,在把数据存到数据库前,先屏蔽那些危险字符!
public string DealString(string str)
{
str=str.Replace("<","<");
str=str.Replace(">",">");
str=str.Replace("/r","<br>");
str=str.Replace("/'","’");
str=str.Replace("/x0020"," ");
return(str);
}
//恢复数据:把数据库中的数据,还原成未处理前的样子
public string UnDealString(string str)
{
str=str.Replace("<","<");
str=str.Replace(">",">");
str=str.Replace("<br>","/r");
str=str.Replace("’","/'");
str=str.Replace(" ","/x0020");
return(str);
}
我同时列出了两个函数UnDealString()和DealString( ),他们是对与输入内容做一些事先的处理和还原工作的!
数据存储的一个实例
<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.OleDb" %>
<Script Language="C#" Runat="Server">
public string myConnstring="Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("test.mdb");
OleDbConnection MyConnection;
public void Page_Load(Object src,EventArgs e)
{
//用户提交数据
}
public void submit_Click(Object src,EventArgs e)
{
string username1 = Request.Form["username"];
string address1 = Request.Form["address"];
string school1 = Request.Form["school"];
string strInsert="insert into aspcn(username,address,school) values('"+username1+"','"+address1+"','"+school1+"')";
//开始联结
try
{
MyConnection = new OleDbConnection(myConnstring);
OleDbCommand MyCommand = new OleDbCommand(strInsert,MyConnection);
MyConnection.Open();
MyCommand.ExecuteNonQuery();
MyConnection.Close();
Info.Text="数据已经保存";
}
catch(Exception ee)
{
Info.Text="发生错误:"+ee.Message;
}
}
</script>
<html>
<head>
<title></title>
</head>
<body>
<asp:Label id="Info" runat=server /><br>
<form runat="server">
用户名:<input type="text" name="username" size="20" ><br>
住址:<input type="text" name="address" size="20" ><br>
学校:<input type="text" name="school" size="20" ><br>
<input type="button" value="提交" runat="server" OnServerClick="submit_Click" >
<p>1</p>
</form>
</body>
</html>
有关DataGrid显示数据的问题
经常碰到DataGrid中要显示一个数据,先要用IF语句判断其值,然后决定怎样显示.问题是,DataGrid中不可直接写条件语句,怎样实现呢?这里我用了两种方法。
方法一:在把数据绑定到DataSet后,更改里面的数据,例如:
SqlDataAdapter myCmd=new SqlDataAdapter(strSql,myConn);
DataSet ds=new DataSet();
myCmd.Fill(ds,"操作员");
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
if(ds.Tables[0].Rows[i]["Oper_state"].ToString()=="1")
ds.Tables[0].Rows[i]["Oper_state"]="有效";
else if(ds.Tables[0].Rows[i]["Oper_state"].ToString()=="0")
ds.Tables[0].Rows[i]["Oper_state"]="冻结";
}
MyDataGrid.DataSource=ds.Tables["操作员"].DefaultView;
MyDataGrid.DataBind();
方法二:通过写一个函数,把绑定到DataGrid某一列的数据转化成要显示字符串,例如:
SqlDataAdapter myCmd=new SqlDataAdapter(strSql,myConn);
DataSet ds=new DataSet();
myCmd.Fill(ds,"操作员");
MyDataGrid.DataSource=ds.Tables["操作员"].DefaultView;
MyDataGrid.DataBind();
在DataGrid摸版列里这样绑定数据:
<%# TurnToStatus(DataBinder.Eval(Container.DataItem,"Oper_state").ToString()) %>
1. ADO.NET数据库实例教程
ADO.NET数据库编程比较复杂,名目繁多的类、对象、属性、方法让每一个编程者都感觉恼火。本文旨在介绍ASP.NET Beta2数据库编程的主要内容,帮助编程者最快的了解ADO.NET数据库编程的精髓。
一、 Managed Providers
如果你是初学者,可能你会问,什么是"Managed Providers"?
Managed Providers提供简单的方法连接和访问数据库,有点类似于数据库连接,当然又比它强的多。Managed Providers提供OleDb和SQL Server两种编程接口。因为SQL Server是微软自己的产品,因此,专门提供了一个针对SQL Server的接口,使用这个接口访问SQL Server的效率应该比使用OleDb强。
NameSpaces
本文所有的例子程序都需要使用以下NameSpaces:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Oledb" %>
Connection
为了连接数据库,必须使用OleDbConnection:
Dim objConn as New OleDBConnection
("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:/sff/site/db/users.mdb")
当然,你也可以将具体的连接方法作为变量使用,在连接数据库以后,必须打开数据库:
objConn.Open()
这样,就可以使用数据库了,一般在最后,我们都要求关闭数据库连接:
objConn.Close()
objConn=Nothing
Command
连接数据库以后,就可以发送命令对数据库进行操作了,OleDbCommand允许发送命令对数据库进行操作。根据发送的SQL语句,我们可以对数据库进行几乎所有操作。
Dim objCmd as New OleDbCommand("SELECT * From users", objConn)
以上语句建立Command,根据习惯不同,也可以使用以下方法:
Dim objCmd as New OleDbCommand()
objCmd.Connection = objConn
objCmd.CommandText = "SELECT * FROM users"
还可以这样:
Dim objCmd as New OleDbCommand(SQL String, connection string)
仔细观察上面的语句,我们发现在定义OleDbCommand时,可以同时使用数据库连接OleDbConnection和数据库连接语句。以上代码并没有执行SQL语句,现在我们来看到底怎样执行:
ExecuteNonQuery
当执行没有返回数据的操作的时候,我们可以使用以上方法,比如插入数据、更新数据等操作,具体这样执行:
objCmd.ExecuteNoQuery
ExecuteReader
在需要一个Data Reader的时候,我们可以使用以上方法,具体这样执行:
Dim objRd as OleDbDataReader
objRd = objCmd.ExeuteReader
ExecuteScalar
使用ExecuteScalar方法来取得一个单个地返回数据,比如对数据的统计。
Data Reader
OleDbReader是专门用来读取数据的对象,这个对象除了读数据以外,不能做其他任何数据库操作。尽管比较简单,但是在用来浏览数据的时候效率是非常高的。
Dim objReader as OleDbDataReader
objReader = objCmd.ExecuteReader
While objReader.Read
Response.Write(objReader.GetString(0) & "<br>")
End While
以上语句读取Command的返回结果的第一个字段,这个字段是字符型数据。我们可以使用其他方法取得各种类型的数据:
GetBoolean(x)
GetByte(x)
GetBytes(x)
GetChar(x)
GetChars(x)
GetDataTypeName(x) -取得数据类型
GetDateTime(x)
GetDecimal(x)
GetDefaultStream(x)
GetDouble(x)
GetFieldType(x)
GetFloat(x)
GetGuid(x)
GetInt16(x)
GetInt32(x)
GetInt64(x)
GetName(x) - 取得字段名
GetOrdinal(name) -根据字段名取得字段序号
GetString(x)
GetTimeSpan(x)
GetValue(x)
GetValues(values())
以上方法都是Command返回数据。
Data Adapter
OleDbDataAdapter取得数据并且数据与DataSet之间建一座桥梁,可以这样使用:
Dim objAdapter as New OleDbDataAdapter("SELECT * FROM users", objConn)
实现方法有点类似于OleDbCommand。OleDbAdapter可以填充DataSet,也可以修改数据然后提以实现对具体数据的修改:
Dim ds as Dataset = New DataSet()
objAdapter.Fill(ds, "users")
以上语句实现将SQL语句取得的Users表的数据填充到DataSet。
Mappings
Mappings可以实现对DataSet的列取别名:
objAdapter.TableMappings.Add("adbtable", "users")
With objAdapter.TableMappings(0).ColumnMappings
.Add("PID", "ID")
.Add("LastName", "LName")
.Add("StreetAddress", "Addy")
End With
objAdapter.Fill(ds)
当使用了以上代码以后,就可以用ds.Tables("users")来代替ds.Tables("adbtable")了。
Command Builder
在下一章我们可以看到Command Builder的具体使用和强大功能。
练习:
如果你能理解以下代码,你就可以看下一章的内容了:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.Oledb" %>
<script language="VB" runat="server">
Sub Page_Load(sender as object, e as eventargs)
Dim objConn as New OleDBConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:/sff/site/db/users.mdb")
objConn.Open()
Dim ds as Dataset = New DataSet()
Dim objAdapter as New OleDbDataAdapter("SELECT * FROM users", objConn)
Dim objCmdBld As New OleDbCommandBuilder(objAdapter)
objAdapter.Fill(ds, "users")
End Sub
</script>
2. 访问数据库(Access)
我们这次同样通过例子来看,其中我们用到了System.Data.OleDb.OleDbCommand类,其实,我们在前面执行SELECT的时候也用到了!
下面我写出我的程序:
//修改留言本中特定的数据
public Boolean UpdateNote(Notebook note)
{
Boolean tempvalue=false;
string sqlstr=""; //当时在这里定义,是为了在出现异常的时候看看我的SQL语句是否正确
try
{
//用到了我前面写的那个得到数据库连接的函数
OleDbConnection conn = getConn(); //getConn():得到连接对象,
conn.Open();
//确定我们需要执行的SQL语句,本处是UPDATE语句!
sqlstr = "UPDATE notes SET ";
sqlstr += "title='" + note.title + "',";
sqlstr += "content='" + DealString(note.content) +"',";
sqlstr += "author='" + note.author + "',";
sqlstr += "email='" +note.email +"',";
sqlstr += "http='" +note.http +"'";
//sqlstr += "pic='" +note.pic +"'";
sqlstr += " where id=" + note.id;
//定义command对象,并执行相应的SQL语句
OleDbCommand myCommand = new OleDbCommand(sqlstr,conn);
myCommand.ExecuteNonQuery(); //执行SELECT的时候我们是用的ExecuteReader()
conn.Close();
//假如执行成功,则,返回TRUE,否则,返回FALSE
tempvalue=true;
return(tempvalue);
}
catch(Exception e)
{
throw(new Exception("数据库更新出错:" + sqlstr + "/r" + e.Message))
} }
这个例子是对于特定ID好的记录进行UPDATE操作,具体解释我都写在了程序中,其中的与数据库有关的语句是try内部的那些!
其实,我们同样可以通过上面的那种模式执行INSERT、DELETE操作,下面我把我的程序列到下面!
/*删除特定记录,通过string类型的ID删除字段,在我的程序中,我把这个函数重载了,这样我们就可以通过INT类型的ID参数来删除特定的字段了*/
public Boolean DelNote(string delid)
{
Boolean tempvalue=false;
string sqlstr="";
//连接数据库
try
{
OleDbConnection conn = getConn(); //getConn():得到连接对象
conn.Open();
sqlstr = "delete * from notes where id=" + delid;
//定义command对象,并执行相应的SQL语句
OleDbCommand myCommand = new OleDbCommand(sqlstr,conn);
myCommand.ExecuteNonQuery();
conn.Close();
//假如执行成功,则,返回TRUE,否则,返回FALSE
tempvalue=true;
return(tempvalue);
}
catch(Exception e)
{
throw(new Exception("数据库更新出错:" + sqlstr + "/r" + e.Message))
}
}
细心的朋友们应该能看到,其实这个程序和上面的相比,只是哪个SQL语句不同而已,其他的都基本一样的!同样的,我们想在数据库中插入新的记录的时候也可以用这样的方式,程序如下:
//向留言本中添加数据
public Boolean AddNote(Notebook note)
{
Boolean tempvalue=false; //定义返回值,并设置初值
//下面把note中的数据添加到数据库中!
try{
OleDbConnection conn = getConn(); //getConn():得到连接对象
conn.Open();
//设置SQL语句
string insertstr="INSERT INTO notes(title, content, author, email, http, pic ,hits,posttime) VALUES ('";
insertstr += note.title +"', '";
insertstr += DealString(note.content) + "','";
insertstr += note.author + "','";
insertstr += note.email + "','";
insertstr += note.http + "','";
insertstr += note.pic + "',";
insertstr += note.hits + ",'";
insertstr += note.posttime +"')";
OleDbCommand insertcmd = new OleDbCommand(insertstr,conn)
insertcmd.ExecuteNonQuery()
conn.Close();
tempvalue=true;
}
catch(Exception e)
{
throw(new Exception("数据库出错:" + e.Message))
}
return(tempvalue);
}
//处理数据,在把数据存到数据库前,先屏蔽那些危险字符!
public string DealString(string str)
{
str=str.Replace("<","<");
str=str.Replace(">",">");
str=str.Replace("/r","<br>");
str=str.Replace("/'","’");
str=str.Replace("/x0020"," ");
return(str);
}
//恢复数据:把数据库中的数据,还原成未处理前的样子
public string UnDealString(string str)
{
str=str.Replace("<","<");
str=str.Replace(">",">");
str=str.Replace("<br>","/r");
str=str.Replace("’","/'");
str=str.Replace(" ","/x0020");
return(str);
}
我同时列出了两个函数UnDealString()和DealString( ),他们是对与输入内容做一些事先的处理和还原工作的!
数据存储的一个实例
<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.OleDb" %>
<Script Language="C#" Runat="Server">
public string myConnstring="Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("test.mdb");
OleDbConnection MyConnection;
public void Page_Load(Object src,EventArgs e)
{
//用户提交数据
}
public void submit_Click(Object src,EventArgs e)
{
string username1 = Request.Form["username"];
string address1 = Request.Form["address"];
string school1 = Request.Form["school"];
string strInsert="insert into aspcn(username,address,school) values('"+username1+"','"+address1+"','"+school1+"')";
//开始联结
try
{
MyConnection = new OleDbConnection(myConnstring);
OleDbCommand MyCommand = new OleDbCommand(strInsert,MyConnection);
MyConnection.Open();
MyCommand.ExecuteNonQuery();
MyConnection.Close();
Info.Text="数据已经保存";
}
catch(Exception ee)
{
Info.Text="发生错误:"+ee.Message;
}
}
</script>
<html>
<head>
<title></title>
</head>
<body>
<asp:Label id="Info" runat=server /><br>
<form runat="server">
用户名:<input type="text" name="username" size="20" ><br>
住址:<input type="text" name="address" size="20" ><br>
学校:<input type="text" name="school" size="20" ><br>
<input type="button" value="提交" runat="server" OnServerClick="submit_Click" >
<p>1</p>
</form>
</body>
</html>
有关DataGrid显示数据的问题
经常碰到DataGrid中要显示一个数据,先要用IF语句判断其值,然后决定怎样显示.问题是,DataGrid中不可直接写条件语句,怎样实现呢?这里我用了两种方法。
方法一:在把数据绑定到DataSet后,更改里面的数据,例如:
SqlDataAdapter myCmd=new SqlDataAdapter(strSql,myConn);
DataSet ds=new DataSet();
myCmd.Fill(ds,"操作员");
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
if(ds.Tables[0].Rows[i]["Oper_state"].ToString()=="1")
ds.Tables[0].Rows[i]["Oper_state"]="有效";
else if(ds.Tables[0].Rows[i]["Oper_state"].ToString()=="0")
ds.Tables[0].Rows[i]["Oper_state"]="冻结";
}
MyDataGrid.DataSource=ds.Tables["操作员"].DefaultView;
MyDataGrid.DataBind();
方法二:通过写一个函数,把绑定到DataGrid某一列的数据转化成要显示字符串,例如:
SqlDataAdapter myCmd=new SqlDataAdapter(strSql,myConn);
DataSet ds=new DataSet();
myCmd.Fill(ds,"操作员");
MyDataGrid.DataSource=ds.Tables["操作员"].DefaultView;
MyDataGrid.DataBind();
在DataGrid摸版列里这样绑定数据:
<%# TurnToStatus(DataBinder.Eval(Container.DataItem,"Oper_state").ToString()) %>
- asp.net技术文章
- ASP.NET技术文章
- 经典技术文章转载:ASP.NET Web 服务如何工作
- 《Artech的ASP.NET系列》系列技术文章整理收藏
- 本周ASP.NET英文技术文章推荐[??/?? - 09/22]:VS 2008、.NET 3.5、asp:ListView、DotNetNuke、ASP.NET AJAX
- 技术文章---Asp:Response对象
- 经典技术文章转载:如何选择ASP.NET Web 服务与.NET Remoting
- .Net 技术文章转帖
- 【20091120】.net一些技术文章
- 决定何时使用 DataGrid、DataList 或(Repeater(ASP.NET 技术文章)Z
- 本周ASP.NET英文技术文章推荐[09/23 - 09/29]:IIS 7.0、Facebook.NET、ASP.NET AJAX、ModalPopupExtender、扩展方法、LinqDataS
- ASP.NET英文技术文章推荐[02/17 - 02/23]:AJAX、History、jQuery、最佳实践、LINQ、Visual Studio、JavaScript、IIS
- 技术文章
- 技术文章
- 技术文章
- 技术文章
- 技术文章
- 技术文章
- ECMAScript 基础
- 嗯!
- Ms Ajax Lib-> String 类型扩展
- linux下抓包命令--tcpdump的使用
- ASP.NET 2.0页面 框架的几处变化
- asp.net技术文章
- C# Cookie操作
- simpleXML用法简介2——获取某个元素的属性值
- 聚焦“我要地图”:API大赛火爆进行中
- YAWL初探
- PasswordRecovery控件感悟
- 新的XQuery、XSLT 2.0和XPath 2.0规范
- Jmail面面观
- Aalst文章的翻译