2019/0314/Asp.net鏈結資料庫-查詢

asp.net鏈結資料庫-查詢

前情提要

sqldatasource 連接 資料庫

連接過的話會顯示在 web.cofig

gridview 顯示資料 相關屬性

既有資料做查詢

最簡單的方式gridview元件

selectcommand 屬性

寫入查詢sql語法做查詢

sqldatsource 控制項的 屬性

sql dml

4種 select insert update delete

controlparameter 控制項

用於鏈結 textbox控制項與 selectcommand屬性

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MySystemConnectionString1 %>" 
SelectCommand="SELECT * FROM [Members] where Name=@name">
<SelectParameters>

<asp:ControlParameter Name="name" ControlID="txtName" Type="String" />
</SelectParameters>

</asp:SqlDataSource>
請輸入姓名:<asp:TextBox ID="txtName" runat="server"></asp:TextBox><asp:Button ID="Button1" runat="server" Text="確定" />

tsql 純量變數 @

declare @name Voichar(8)

php 變數$

emptydatatext屬性:顯示查無此資料時之文本

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="Account" DataSourceID="SqlDataSource1" 
EmptyDataText="查無資料!!">

模糊查詢語法置入

 <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MySystemConnectionString1 %>" 
 SelectCommand="SELECT * FROM [Members] where Name like '%'+ @name + '%'">

一次複製 visual studio 會自動增加不同 id

fiterparameters 屬性 不用 where 也可查詢 ( 使用過濾器 )

<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:MySystemConnectionString1 %>" 
SelectCommand="SELECT * FROM [Members]" FilterExpression="Name like '%{0}%'">
            
<FilterParameters>
       <asp:ControlParameter Name="name" ControlID="txtName2" Type="String" />
</FilterParameters>
 
</asp:SqlDataSource>

請輸入姓名:<asp:TextBox ID="txtName2" runat="server"></asp:TextBox><asp:Button ID="Button2" runat="server" Text="確定" />

<hr />

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" DataKeyNames="Account" 
DataSourceID="SqlDataSource2" EmptyDataText="查無資料!!">

filterexpression 屬性 c# 自己的模糊查詢表示法

SelectCommand="SELECT * FROM [Members]" FilterExpression="Name like '%{0}%'"

sqldatasource 顯示方式 products 資料型態是 bit 只有0跟1 可以拿來代表上架下架

p 定價 p2 售價

intro 商品內容

imagefield 控制項

url相關 都是在指定路徑

dataimageurlfield 圖檔資料夾

dataimageurlformatstring 圖檔路徑

<asp:ImageField 
DataImageUrlField="Product_Img" 
DataImageUrlFormatString="~\ProductsImg\s{0}">
</asp:ImageField>
從上述網址找的範例
dataimageurlfield="LastName"
dataimageurlformatstring="~\Images\{0}.jpg"

不知道控制項屬性相關功能時 msdn 查詢關鍵字

class 類別 -> 命名空間

建構子 co

屬性p

gridview 控制項 data formatstring 型態自訂格式顯示

\r \n c# 換行 html <br>

設計模式 templatefield 自訂

<%--<asp:BoundField DataField="Product_Intro" HeaderText="Product_Intro" SortExpression="Product_Intro" />--%>
 
<asp:TemplateField HeaderText="Product_Intro" SortExpression="Product_Intro">
     <EditItemTemplate>
          <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Product_Intro") %>'></asp:TextBox>
     </EditItemTemplate>
     <ItemTemplate>
          <asp:Label ID="Label1" runat="server" Text='<%# Eval("Product_Intro").ToString().Replace("\n","<br>") %>'></asp:Label>
     </ItemTemplate>
</asp:TemplateField>

資料繫節表示式

Text='<%# Bind("Product_Intro") 

屬性 : EditItemTemplate 編輯欄位

屬性 : ItemTemplate 顯示欄位

方法 : Eval 可以讀資料

方法: bind 可以讀也可以寫回去

Eval ("繫節欄位的名稱","可以設定顯示格式")

replace ("被取代的字串" , "取代成字串" )

如何結合前端??

拿 Bootstrap 寫好的 css 鏈結過來用

gridview gridlines none 將表格拿掉

bootstrap css樣式表 都寫在class 套用就好

題外話

公保退被砍 6成恩給制

繳低拿高 5年 勞退gg

Last updated