2019年12月9日 星期一

Views

[開發問題] C# 正則表達式的用法

1.何謂正則表達式
  http://www1.nttu.edu.tw/klou/course/921/js/09-regular.htm

2. 程式碼練習
 
using System;

     using System.Text.RegularExpressions;     

     public class Program

    {
       public static void Main()

      {

         string input = "%abqw-_1";
         string pattern = @"^[a-z0-9-_%]*$";(表示開頭(^)到結尾($)可以是比對到多次的a-z或0-9或一槓(-)或底線(_)
         或百分比(%))

          foreach (Match match in Regex.Matches(input, pattern))

           Console.WriteLine(match.Value);  

       }

    }

3. 練習教程
  https://www.runoob.com/csharp/csharp-regular-expressions.html

2019年11月9日 星期六

Views

GridView 和 Repeter 的範本

一、整理兩個的aspx檔

(1).   GridView

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="自己的檔名.aspx.cs" 
    Inherits="自己的類別" %>

<!DOCTYPE html>

<html>
<head runat="server">
<meta http-equiv="Content-Type" content="text/html"; charset="utf-8"/>
    <title>Template</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
        <Columns>
          <asp:BoundField DataField="BID" HeaderText="BID"/>            
          <asp:TemplateField HeaderText="Button">
            <ItemStyle Width="50%"/>
                <ItemTemplate>           
              <asp:Button id="btn" runat="server" Text="test" OnCommand="btn_OnClick" 
                   CommandArgument='<%# Eval("BID")%>' Enabled='<%# Eval("Record").ToString()=="Y"? 
                   false:true %>'/>
         </ItemTemplate>
         </asp:TemplateField>
         </Columns>
 </asp:GridView>
        </div>
    </form>
</body>
</html>

(1).   Repeter

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="自己的檔案.cs"Inherits="自己的類別" %>

<!DOCTYPE html>
<html>
<head runat="server">
<meta http-equiv="Content-Type" content="text/html"; charset="utf-8"/>
     <title></title> 
</head> 
<body> 
  <form id="form1" runat="server"> 
  <div> 
     <asp:Repeater ID="Repeater1" runat="server" > 
        <HeaderTemplate> 
           <table border="1" cellpadding="0" cellspacing="0" 
               style="width:1006px;border-collapse:collapse; text-align:center;"> 
              <tr> 
                <th style="background-color:red">ID</th> 
                <th style="background-color:red">內容</th> 
              </tr> 
       </HeaderTemplate> 
       <ItemTemplate> 
              <tr> 
               <td><asp:Label ID="lblId" runat="server" 
                    Text='<%# Eval("id") %>' ></asp:Label></td> 
               <td><%# Eval("name") %></td> 
              </tr> 
      </ItemTemplate> 
      <FooterTemplate> 
         </table> 
      </FooterTemplate> 
    </asp:Repeater> 
  </div> 
  </form> 
</body> 
</html> 

 以上整理,是供平常練習的快速樣本!

(3). CodeBehide 資料來源的寫法,以GridView舉例

        
//將後端的DataTable丟到前端,記得dt要先add,然後用迴圈塞資料,GridView才能顯示
        DataTable dt =new DataTable();
        (this.可加可不加)GridView1.DataSource =dt;
        (this.可加可不加)GridView1.DataBind();
 
     最後謝謝這篇大大的分享,讓我學習到怎麼在網誌中將程式碼插入網誌中!

2019年11月2日 星期六

Views

sublime text3

目前家用主題

https://www.jianshu.com/p/aa74d6373be7
(此網頁主題,簡潔好用不傷眼)


常用快捷鍵,很重要!工欲善其身,必先利其器

1.Ctrl+Shift+L 先選中多行(Ctrl+A),再按下快捷键,會在每行行尾插入光標,即可同时编辑這些行。

2.sublime text多行光标批量快捷操作。
   Ctrl+ALT+↓(可以用在每行開頭)

   
3.Ctrl+F 按下右下角的FindAll,可以有多行修改提換效果。





4.Ctrl+Enter 在下一行插入新行。即使光標不在行尾,也能快速向下插入一行。

5.Ctrl+Shift+Enter 在上一行插入新行。即使光標不在行首,也能快速向上插入一行。

6.在每行將滑鼠焦點移到開頭home/結尾end,此檔案的開頭pgup/結尾pgdn。

2019年10月30日 星期三

Views

[Html5] Table

[Table]跨欄跨列語法

題目
考科 國文
英文
數學

要設計出以上table的語法為以下:

   <table border="1"><tbody>          border:表示邊框粗細
  <tr>
      <th colspan="2">題目</th>       colspan="2"  橫跨兩個欄位
  </tr>

  <tr>
      <th rowspan="3">考科</th>     rowspan="3" 橫跨三列 其中tr表示每列,但是
      <td>國文</td> (1)                     第一個td表示第一列
  </tr>

  <tr>
      <td>英文</td> (2)
  </tr>

  <tr>
      <td>數學</td> (3)
  </tr>
</tbody>
</table>

Name Expense
Trista 10
Tina 20
Sum:30
要設計出以上table的語法為以下:
<table border="1" style="border-style:solid;text-align:center">
<tbody>
<tr>
   <th>Name</th>
   <th>Expense</th>
</tr>
<tr>
   <td>Trista</td>
   <td>10</td>
</tr>
<tr>
   <td>Tina</td>
   <td>20</td> 
</tr>
<tr>
   <td colspan="2">Sum:30</td>
</tr>
</tbody>
</table>



 要設計出以上table的語法為以下:
<table border="1" style="border-style:dashed"><tbody>
<tr>
    <th colspan="4">個人基本資料</th>
</tr>
<tr>
    <th>姓名</th><td>Trista</td><th>Gender</th><td>Girl</td>
</tr>
<tr>
    <th rowspan="3">家庭狀況 </th><td>稱謂</td><td>姓名</td><td>性別</td>
</tr>
<tr>
    <td>爸</td><td>王大明</td><td>男</td>
</tr>
<tr>
    <td>媽</td><td>劉小花</td><td>女</td>
</tr>
<tr>
    <th colspan="4">備註:</th>
</tr>
<tr>
    <td colspan="4" >                                               在備註欄位想要塞兩列兩行,方法就是在
    <table border="1" width="100%"><tbody>       塞個table進去,想要控制它的寬度,如橘
                                                                                 色標註所示
    <tr><th width="70%">興趣</th><td width="30%">打球</td></tr>

    <tr><th>專長</th><td>英文</td></tr>
    </tbody>
    </table>
    </td>
</tr>
</tbody>
</table>

身高體重
150目前無資料

要設計出以上table為以下語法:

<table width="50%" border="1" style="text-align:center;">
<tr>
      <th>身高</th><th>體重</th>

</tr>
<tr>
      <td >150</td><td style="letter-spacing: 20px;">目前無資料</td>

</tr>                                  其中style="letter-spacing: 20px;"表示字與字的間距為20px

</table>


2019年9月22日 星期日

Views

[上課筆記]開發.Net Core環境建置

因應開發趨勢的關係,選擇VS Code開發.Net Core是比較明智的選擇,未來跨平台應該會是一個大方向。

VS Code 環境建置

(1)開發工具,關鍵字打 VS Code download 就可以到以下畫面,基本上在家裡練習開發,

     所以我選擇User Installer,代表現在windown使用者登入,若是System Installer 軟體會灌

     在Program Files裡面,可以提高到管理者的權限。

   

(2)開發平台,關鍵字打dotnet core download,就可以看到.Net Core 2.2是目前穩定版,點進去下載。

    其中會有Runtime2.2.7(.Net Core 像是開發主控台、WPF用到,那ASP.NET Core主要是開發
 
    Web應用程式用),另外SDK 2.2.402 .Net Core Installer(外掛程式,給不能用VS開發的.Net程

    式的人用)也需要下載。

 

   
    所以總total來說,會有(vs code、.Net Core Installer、ASP.NET Core Installer、.Net Core Installer)個應用程式需要下載,
    安裝順序上沒有差別。

2019年8月22日 星期四

Views

解決Visual Studio 2017無法連接到MS-SQL伺服器的問題

如題主旨:

作業環境:win10家用版

MS-SQL:2017

Visual Studio 2017使用ADO.NET加入連線字串時卻遇下列問題



解決辦法:
(1).先去SQL-SERVER2017組態管理員



(2).確認SQLEXPRESS的通訊協定,TCP/IP是啟用狀態




(3).確認SQL Server服務中(SQL EXPRESS/Brower)是開啟狀態



(4).若是SQL Server Brower無法開啟,請先到控制台\系統管理工具\服務,找到SQL Server Brower
      按右鍵開啟內容

(5)在啟動類型選擇自動,按套用後確定,並重新啟動。

~~~~~~~~~~~~~~~此時ADO.NET內就可以找到本機伺服器啦~~~~~~

2019年8月2日 星期五

Views

C# Using Jayrock



組合Json字串踩地雷

今天工作開發不是那麼順利,先把問題紀錄下來,待以後開發繼續找答案!



1.在sublime text3要怎麼順利Using Jayrock



目前還懵懵懂懂,但可參考此篇先有概念



2.在組合Json字串可參考此篇,但是在使用JsonObject會碰到一個問題:

 

 private string _succse="1";

 string str_json = JsonConvert.SerializeObject(dt); //dt是datatable


 r=new JsonObject();


 r.Accumulate=("succse"_succse);

 r.Accumulate=("data",str_json);


 在用context.Response.Write(r.ToString());

 

 輸出

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

 {"Succse":"1","data":
[{.....}]};多出來的雙引號就是會影響結果



3.解決辦法參考此篇

 加入這句

 var _data=Jayrock.Json.Conversion.JsonConvert.Import(str_json)

  先將str_json轉成萬用型別,再放入

 r=new JsonObject();


 r.Accumulate=("succse"_succse);

 r.Accumulate=("data",_data);

 神奇的~多出來的""號被解決掉囉!

2019年7月10日 星期三

Views

在window10 找不到 IIS admin


安裝過程:


首先安裝IIS時,我是參考這篇網誌的,其實已經詳細了,照著安裝為什麼還是錯?

在路徑:控制台\所有控制台項目\系統管理工具\服務  並沒有IIS admin 。


解決方式:


1.用中文關鍵字在google 搜尋還是找不到,花了一點時間.....

2.改成英文關鍵字,終於在stack overflow找到相關文章,關鍵就是這張圖:


    紅色框框是我漏掉的部份!!!!! 後來補上在WINDOW10內就出現囉,後續測試IIS都正常運作
 












   

2019年3月12日 星期二

Views

Microsoft 70-762 考後心得




資料庫開發


人生中第一張微軟專業證照GET!!!

背景介紹: 非相關科系,因轉職上的考量,不斷考取證照精進自己的實力,807分通過這次考試。

準備方法:    

                     1.巨匠資料庫開發實體課程(總共上了三遍),巨匠上課好處是一年下來,同樣的課程可以一直在上,並且複習觀念。


                     2.參考書籍:微軟官方教材(20762A-Developing SQL Database),多練習書籍後面練習題,幫助瞭解比較複雜的指令跟觀念。


                     3.考古題網站複習:考前一個月進入該網站點選 Briefing Microsoft Knowledge,就可以看到以下連結入境,若是
                               跳出填入email帳號,只要打xxx@xxx.xxx就可以進入啦!

                               取之網路回饋網路(給需要準備的人參考),這個考古題網站至少有三成命中率,提供我在考場看到的
                               考題資訊2.3.4.5.6.20.37.38.47.49.52.53.54.62.63.64,反正考題多看無礙,當作學習啦!但是
                               答案不是那麼準確可以看其他網友在網站內分享的資訊幫助學習。

                   4.利用考古題抓複習方向,每一題答案的觀念都要弄懂,因為考試很活背答案是沒有用的。

考試時間: 120分鐘/49題。

考試提醒:

                 1.提前十五分鐘到考場辦理入場手續,記得帶雙證件。
              
                 2.題型若是遇到單選題,一旦按下YES/NO就無法再回頭。

                 3.記得考試前,不要亂吃東西,考場溫度保持在舒適的狀態。

考試中遇到的觀念(按照微軟官方教科書有印象的去整理):


  • M2:Common Normalization Forms 正規化概念/Data Types:tinyint.smallint.int.bigint.bit.datetimeoffset/Schemas的管理
  • M3:Partition View的觀念
  • M4:考滿多Constraint的約束,PK.UNIQUE.CHECK.FK
  • M5:瞭解Clustered and Nonclustered indexs並且活用
  • M6:Covering Index的語法建立  例如: CREATE NONCLUSTERED INDEX AK_Product On Production.Product(ProductID,ListPrice ASC) INCLUDE(Name,ProductNumber,Color)   / Filter Index的優點
  • M7:Columnstore indexs的優點,通常都用在資料倉儲有彙總函數時使用
  • M8:View搭配WITH ENCRYPTION.WITH SCHEMABINDING.WITH WIEW_METADATA.THE WITH CHECK OPTION的使用/INSTEAD OF Triggers 通常會建立在VIEW上/建立INDEX VEIW的優點
  • M9:Stored Procedures Error Handling怎麼撰寫語法  例如 : CREATE PROCEDURE Sales.NewStore @SalesPersonID as int, @StoreName As nvarchar(50)  AS SET NOCOUNT ON;BEGIN TRY INSERT INTO Person.BusinessEntity(rowguid) Values(DEFAULT);DECLARE @BusinessEntityID int = SCOPE_IDENTITY();INSERT INTO Sales.Store(BusinessEntityID,[Name],SalesPersonID) VALUES(@BusinessEntityID,@StoreName,@SalesPersonID);END TRY  BEGIN CATCH SELECT ERROR_MESSAGE() As ErrorMessage END CATCH
  • M11:INSTEAD OF Trigger 和 After Trigger 的差別以及使用時機
  • M12:Memory-Optimized Tables的SCHEMA_ONLY 和 SCHEMA_AND_DATA的區別/Natively Compiled Stored Procedures(Access to momory-optimized tables only)  
  • M17:READ UNCOMMITTED.READ COMMITTED.REPEATABLE READ.SERIALIZABLE.SNAPSHOT觀念要弄清楚(整理不錯的資訊)/在做資料監控,資料庫有兩個追蹤旗標,來協助dead lock紀錄 1222和1204,其中1222可以把資料儲存成XML格式/For more information about analyzing deadlocks using SQL Server Profiler
  •  務必把這些管理物件的使用時機和差別弄懂,考試會混著考:  sys.dm_os_waiting_tasks/sys.dm.exec_sessions/Performance Monitor Data Collector Set/sys.dm_os_memory_objects/sp_configure max server memory/SQL Profiler trace/sys.dm_os_wait_stats/Extended Event  



                                      以上資訊分享,希望有想考證照的人都能順利通過!!!!!!!

2019年2月1日 星期五

Views

Microsoft 70-761 考後心得


資料庫開發



分享心得前一樣先附上自己的成績單!

不高不低還是PASS啦!

  背景介紹: 非相關科系,因轉職上的考量,不斷考取證照精進自己的實力。


  準備方法: 1.巨匠資料庫開發實體課程(總共上了三遍)

                     2.參考書籍:微軟官方教材(20761A-Querying Date With Transact-SQL)

                     3.考古題網站複習:進入該網站點選 Briefing Microsoft Knowledge,就可以看到以下連結入境,若是
                                    跳出填入email帳號,只要打xxx@xxx.xxx就可以進入啦!

                   取之網路回饋網路(給需要準備的人參考),這個考古題網站至少有四成命中率,提供我在考場看到的
                                
                   考題資訊7.11.12.2940.44.45.46.54.55.56.57.60.62.64.68.82,反正考題多看無礙,當作學習啦!但是

                   答案不是那麼準確可以看其他網友在網站內分享的資訊幫助學習。

                    3.利用考古題抓複習方向,每一題答案的觀念都要弄懂,因為考試很活背答案是沒有用的。

                    4.切記考古題中撰寫T-SQL指令要多練習,我這次遇到有六題,方向大概是UPDATE/DELETE/
                                     WHERE/GROUP BY/LEFT JOIN/INNER JOIN的相關運用。
                                 
                   5.參考文件(1)https://leoyeh.me/2018/02/25/SQL-Server-%E6%BA%96%E5%82%99%E8%80%83%E8%A9%A6-1/
                                      (2)https://jasper-it.blogspot.com/2017/11/sql-server-70-762_20.html
                                     

考試時間: 120分鐘/46題。

考試提醒:

                 1.提前十五分鐘到考場辦理入場手續,記得帶雙證件。
              
                 2.題型若是遇到單選題,一旦按下YES/NO就無法再回頭。

                 3.下圖是筆者畫的示意圖,因為在進入第一題時,就是YES/NO問題,不小心

                      錯按兩次NEXT,就無法回頭(當下超懊惱的@@)。左上箭頭會跳出整個
                      考題,不用擔心錯按,只要在總畫面選擇未答題的題目就可以返回了。
                  

考試中關鍵指令的範圍:

  • PIVOT, UNPIVOT
  • EXCEPT / INTERSECT / UNION / UNION ALL / LEFT JOIN / JOIN / FULL JOIN / CROSS JOIN 差異
  • CROSS APPLY 與 OUTER APPLY 差異
  • TRY_CAST(), TRY_CONVERT(), TRY_PARSE()用法
  • INDEX VIEW 觀念
  • INDEX WHERE GETDATE()
  • FUNCTION(SCALE,TABLE-VALUE)
  • TRY CATCH
  • TRAIN(COMMIT+ROLLBACK)
  • RAISERROR+THROW
  • XACT_ABORT()/XACT_STATE()
  • MERGER 用來騙人的選項
  • CTE遞迴:(因為觀念比較難,推薦以下網友整理還不錯的網誌https://dotblogs.com.tw/henryli/2014/06/03/145344
  • FOR SYSTEM_TIME(1.AS OF 2.FROM 3.BETWEEN 4. CONTAINED IN 5.ALL 使用上差別和使用時機,非常重要!!!!!)