asp.net的基礎內容
重點
SQL SERVER
Sql語句; a:主表;b:子表
select * from a right join b on a.id=b.aid --右連接
select * insert a from b --建一個同表b相同的表
insert into a(id,name) select id,name from b --追加數據
select
case sex
when 1 then 'Male'
when 2 then 'Woman'
--else ''
end from a
update a
case name
when id=1 then 'wj'
when id=2 then 'vicky'
end
存儲過程
create proc procname
@name varchar(20),@sex int output --輸入輸出參數
as
select @sex=sex from a where name=@name
declare @return_sex int
execute procname 'vicky' @return_sex output
print @return_sex
觸發器
?
事務
begin transaction
update a set name='xuejia' where id=2
--commit --提交后將無法回滾
rollback
控件
驗證控件
GridView
Reapter
DataList
Asp.Net內部對象
Response
response.write(""),
response.redirect("a.aspx?strid="+txta.text+"&strname="+txtb.text);
response.end();
Request --讀取客戶端信息
string strid="1" --頁面傳值
request["strid"].tostring();
Session –用戶離開網站時結束,
session["strid"] ;session.timeout=30; 默認為20分鐘;session.clear(); 清除變量session.abandon 結束會話
Application --可視範圍只要在應用程序內涵蓋全部的使用者
application["strid"]=txta.text; 保存變量
string straaid=application["strid"].tostring(); --得到變量
application.lock();
application.unlock();
application.clear();
Server
server.transfer("a.aspx") --在地址中不會顯示a.aspx
數據庫訪問對象
Connection
--數據庫連接串
web.config 的<configuration>里添加下述代碼
<appsettings>
<add key="connectionstring" value="data source=.; Initial catelog=databasename; Integrated Security=true" providerName="system.data.sqlclient">
<add key="" value="server=(local); database=databasename; uid=sa;pwd=sa">
</appsettings>
string conn=system.configuration.configurationManager.appsettings["connectionstring"]
或者是
<connectionstrings>
<add name="connectionstring" value="data source=. ;Initial catelog=databasename;
Integrated Security=true" providerName="system.data.sqlclient">
</connectionstrings>
string conn=system.configuration.configurationManager.connectionstrings["connectionstring"].connectionstring;
sqlconnection sqlcon=new sqlconnection(conn);
conn.open();
Command --數據庫操作
ExecuteNonQuery()方法 --主要用於執行添刪改
--創建命令對象實例時帶有參數
strsql= "delete from a where id=1"
sqlcommand cmd=new sqlcommand(strsql,conn);
cmd.ExecuteNonQuery();
--創建命令對象實例時不帶參數,需要指定命令對象的連接和命令文本屬性
strsql= "delete from a where id=1"
sqlcommand cmd=new sqlcommand();
cmd.connection=conn;
cmd.commandText=strsql;
cmd.executeNonQuery();
ExcuteScalar方法 --多用於使用聚合函數的情況
string strsql="select count(*) from a"
sqlcommand cmd=new sqlcommand(strsql,conn);
cmd.ExecuteScalar();
ExecuteReader
string strsql="select name from a ;
sqlcommand cmd=new sqlcommand(strsql,conn);
DataReader dr=cmd.ExecuteReader();
while(dr.read())
{
label1.text=dr["name"].tostring()+"<br>";
}
DataReader
GetSchemaTable()方法 –返回一個DataTable的結構,常用來獲取字段名
string strsql="select * from a"
sqlcommand cmd=new sqlcommand(strsql,conn)
sqlDataReader dr=cmd.ExecuteReader();
DataTable dtscm=dr.GetSchemaTable();
dropdownlist.items.clear();
foreach(DataRow mydrow in dtscm) --獲取所有字段名,并添加到下拉框中
{
dropdownlist.items.add(mydrow[0].tostring());
}
while(dr.read())
{
listbox1.items.add(dr.GetValue(0).tosting());
}
--將列表框1中的項目全部移到列表框2中
while(listbox1.items.count!=0)
{
listbox2.items.add(new listitem(listbox1.items[0].value));
listbox1.items.remove(listbox1.items[0].value);
}
移動選擇的項
while(listbox1.selectedIndex!=-1)
{
for(int i=0;i<listbox1.items.count;i++)
{
if(listbox1.items[i].selected=true)
{
listbox2.items.add(new listitem(listbox1.items[0].value));
listbox1.items.remove(listbox1.items[i].vaue);
}
}
}
DataSet DataAdapter --斷開式數據庫連接