1.<%=…%> 与 <%#… %> 的区别:答:<%=…%> 是在程序执行时调用,<%#… %> 是在 DataBind()方法之后被调用
2. 控件接收哪些类型数据?
答:接收 Bind 的控件,一般有 DropDownList,DataList,DataGrid,ListBox 这些集合性质的控件,而被捆 绑 的主要是 ArrayList(数组),Hashtable(哈稀表),DataView(数据视图),DataReader 这四个,以后我们就可以 对号入座,不会出现 DataTable 被捆绑的错误了:)
3.DataBind, 获得的数据,系统会将其默认为 String, 怎样转化为其它的类型?
DataBinder.Eval(Container.DataItem," 转换的类型 "," 格式 ")
最后一个 " 格式 " 是可选的,一般不用去管他,Container.DataItem 是捆绑的数据项," 转换类型 " 指的是 Integer,String,Boolean 这一类东西。
4. 主要命名空间:
<% @ Import Namespace="System.Data" %> 处理数据时用到
<% @ Import Namespace="System.Data.ADO" % > 使用 ADO.net ; 时用到
<% @ Import Namespace="System.Data.SQL" %> SQL Server 数据库专用
<% @ Import Namespace="System.Data.xml" %> 不用看处理 XML 用到
<% @ Import Namespace="System.IO" %> 处理文件时用到
<% @ Import Namespace="System.Web.Util" %> 发邮件时大家会用到
<% @ Import Namespace="System.Text" %> 文本编码时用到
5.Connections(SQLConection 或者 ADOConnection)的常用属性和方法:
| ConnectionString 取得或设置连结数据库的语句
| ConnectionTimeout 取得或设置连结数据库的最长时间,也是就超时时间
| DataBase 取得或设置在数据库服务器上要打开的数据库名
| DataSource 取得或设置 DSN, 大家不会陌生吧:)
| PassWord 取得或设置密码
| UserID 取得或设置登陆名
| State 取得目前联结的状态
| Open()打开联结
| Close()关闭联结
| Clone()克隆一个联结。(呵呵,绵羊可以 Connection 我也可以)
示例:
SQLConnection myConnection = new SQLConnection();
myConnection.DataSource = "MySQLServer";
myConnection.Password = "";
myConnection.UserID = "sa";
myConnection.ConnectionTimeout = 30;
myConnection.Open();
myConnection.Database = "northwind";
myConnection.IsolationLevel = IsolationLevel.ReadCommitted
6.Command 常用的方法和属性
| ActiveConnection 取得或设置联结 Connections
| CommandText 执行的 SQL 语句或储存过程(StoredPRocedure)名
| CommandTimeout 执行的最长时间
| CommandType Command 操作的类型(StoredProcedure,Text,TableDirect)三种,默认 Text
| Parameters 操作储存过程时使用
| Execute()执行 SQL 语句或储存过程
| ExecuteNonQuery()同上,区别在于不返回记录集
| Clone()克隆 Command
示例:
string mySelectQuery = "SELECT * FROM Categories ORDER BY CategoryID";
stringmyConnectString="userid=sa;password=;database=northwind;server=mySQLServer";
SQLCommand myCommand = new SQLCommand(mySelectQuery);
myCommand.ActiveConnection = new SQLConnection(myConnectString);
myCommand.CommandTimeout = 15;
myCommand.CommandType = CommandType.Text;< /FONT >
7. 打开和关闭数据库两种方法:
1.MyConnection.Open(); // 打开联结
MyConnection.Close();
2.MyCommand.ActiveConnection.Open();
MyCommand.ActiveConnection.Close()
8. 使用 DataSet, 在数据库中增加、修改、删除一个数据
a. 添加数据
DataRow dr=MyDataSet.Tables["UserList"].NewRow();
dr["UserName"] = " 周讯 ";
dr["ReMark"] = "100";
dr["Comment"] = " 漂亮 MM";
MyDataSet.Tables.Rows.Add(dr);
b. 修改数据
MyDataSet.Tables["UserList"].Rows[0]["UserName"]=" 飞刀大哥 ";
c. 删除数据
MyDataSet.Tables["UserList"],Rows[0].Delete();
d. 恢复数据
if(MyDataSet.HasErrors)
{
MyDataSet.RejectChanges();
}
e. 探测 DataSet 是否有改动
if(MyDataSet.HasChanges)
{
// 保存代码
}else{
// 因为没有变化,所以不用保存,以节省时间
}
f. 更新数据库
MyComm.Update(MyDataSet); // 更新数据库中所有的表
MyComm.Update(MyDataSet,"UserList"); // 更新某个表
9.DataGrid 实现分页功能
AllowPaging="True" // 是指允许分页,这个是最主要的。有了它,我们才能分页。
PageSize="5" // 是指定每页显示的记录数,如果不写,就会默认为 10 条。
PagerStyle-HorizontalAlign="Right" // 是指定分面显示的定位,默认是 Left
PagerStyle-NextPageText=" 下一页 " // 把 <> 改为上一页和下一页字符串
PagerStyle-PrevPageText=" 上一页 "
PagerStyle-Mode="NumericPages" // 把 <> 改为 123 数字显示
10. 显示一共有多少页,并且报告当前为第几页
当前页是:<font color=red><%=DataGrid1.CurrentPageIndex+1%></font><br>
总页数是:<font color=red><%=DataGrid1.PageCount%></font><br>
11. 个性化分页
程序员大本营之 " 亲密接触 asp.net(14)" 有完整代码
12. 要将页面重置为有效的状态
IValidator val;
foreach(val in Validators)
{
Val.IsValid = true;
}
13. 重新执行整个验证序列
IValidator val;
foreach(val in Validators)
{
Val.Validate();
}