UWInfo Blog
發表新文章
[Join] | [忘記密碼] | [Login]
搜尋

搜尋意見
文章分類-#Author#
[所有文章分類]
所有文章分類
  • ASP.NET (48)
  • ASP.NET2.0 (15)
  • ASP.NET4.0 (34)
  • JavaScript (49)
  • jQuery (26)
  • FireFox (4)
  • UW系統設定 (3)
  • SQL (39)
  • SQL 2008 (25)
  • mirror (4)
  • SVN (4)
  • IE (9)
  • IIS (20)
  • IIS6 (1)
  • 閒聊 (7)
  • W3C (6)
  • 作業系統 (9)
  • C# (24)
  • CSS (12)
  • FileServer (1)
  • HTML 5 (11)
  • CKEditor (3)
  • UW.dll (13)
  • Visual Studio (16)
  • Browser (8)
  • SEO (1)
  • Google Apps (3)
  • 網站輔助系統 (4)
  • DNS (5)
  • SMTP (4)
  • 網管 (11)
  • 社群API (3)
  • SSL (4)
  • App_Inventor (1)
  • URLRewrite (2)
  • 開發工具 (6)
  • JSON (1)
  • Excel2007 (1)
  • 試題 (3)
  • LINQ (1)
  • bootstrap (0)
  • Vue (3)
  • IIS7 (3)
  • foodpanda (2)
  • 編碼 (2)
  • 資安 (3)
  • Sourcetree (1)
  • MAUI (1)
  • CMD (1)
  • my sql (1)
最新回應
  • Newtonsoft.Json.JsonConvert.DeserializeObject 失敗的情況
    test...more
  • dotnet ef dbcontext scaffold
    ...more
  • [ASP.NET] 利用 aspnet_regiis 加密 web.config
    ...more
  • IIS ARR (reverse proxy) 服務安裝
    ...more
  • [錯誤訊息] 請加入 ScriptResourceMapping 命名的 jquery (區分大小寫)
    ...more
  • 用 Javascript 跨網頁讀取 cookie (Cookie cross page, path of cookie)
    ...more
  • 線上客服 - MSN
    本人信箱被盜用以致資料外洩,是否可以請貴平台予以協助刪除該信箱之使用謝謝囉...more
  • 插入文字到游標或選取處
    aaaaa...more
  • IIS 配合 AD (Active Directory) 認証, 使用 .Net 6.0
    太感謝你了~~~你救了我被windows 認證卡了好幾天QQ...more
  • PostgreSQL 的 monitor trigger
    FOR EACH ROW 可能要改為 FOR EACH STATEMENT ...more
標籤
  • 火狐
  • 8
  • debugWAITF
  • 查看資料庫最耗時的S
  • .net
  • [t],
  • nextTick
  • USER
  • 14
  • 26
  • .
  • -7984
  • -6311
  • UNT2121121
  • xml appcmd
  • sns
  • sql
  • load
  • LINE Pay介接
  • aspnet
  • 50
  • asp.ne
  • virtual
  • openExtern
  • Cookie
  • 12
  • 60
  • if
  • 9239
  • google
  • 20
  • 檔案分享
  • exten
  • sonarcube
  • drop
  • 34
  • 706
  • 專案 UNION A
  • [u2]
  • -2391 UNIO
  • shop ORDER
  • recovery O
  • 790
  • 550
  • spf
  • postgres
  • a
  • blog
  • grpstkizsh
  • 6402-6385
頁數 4 / 55 上一頁 下一頁
搜尋 結果:
flutter 安裝過程中遇到的一些問題
1. 安裝 cmdline-tools

https://www.fluttercampus.com/guide/201/android-sdkmanager-not-found-error-flutter/
More...
Bike, 2023/6/4 下午 04:50:35
flutter 安裝過程中遇到的一些問題
1. 安裝 cmdline-tools

https://www.fluttercampus.com/guide/201/android-sdkmanager-not-found-error-flutter/
More...
Bike, 2023/6/4 下午 04:50:19
Oracle 的錯誤: 集合中已經包含 OracleParameter 物件
繁中的錯誤訊息:  集合中已經包含 OracleParameter 物件
簡中的錯誤訊息: 另一个 OracleParameterCollection 中已包含 OracleParameter

解決方法是把 OracleParameter p, 做 clone 之後再加入 OracleCommand 的 Parameters 之中。

OracleParameter pp = (OracleParameter)((ICloneable)p).Clone();
cmd.Parameters.Add(pp);

看來簡中的翻譯比較明確。

不知道英文版的錯誤訊息是什麼。
More...
Bike, 2023/6/1 下午 07:26:36
Oracle 的錯誤: 集合中已經包含 OracleParameter 物件
繁中的錯誤訊息:  集合中已經包含 OracleParameter 物件
簡中的錯誤訊息: 另一个 OracleParameterCollection 中已包含 OracleParameter

解決方法是把 OracleParameter p, 做 clone 之後再加入 OracleCommand 的 Parameters 之中。

OracleParameter pp = (OracleParameter)((ICloneable)p).Clone();
cmd.Parameters.Add(pp);

看來簡中的翻譯比較明確。

不知道英文版的錯誤訊息是什麼。
More...
Bike, 2023/6/1 下午 07:26:21
用遞迴查詢所有子部門的 Sql
WITH DepartmentTree AS (
    SELECT       
        Id, 
        Code,
        Name,
        UpDepartmentId,
        1 as Level
    FROM       
        SaintEir_Department
    WHERE Id  = 1
    UNION ALL
    SELECT 
        e.Id, 
        e.Code,
        e.Name,
        e.UpDepartmentId,
        o.Level + 1 as Level
    FROM 
        SaintEir_Department e
        INNER JOIN DepartmentTree o 
            ON o.Id = e.UpDepartmentId
)
SELECT * FROM DepartmentTree;
More...
Bike, 2023/5/23 上午 11:04:38
加密用的物件必需要 dispose 否則會有洩漏密碼或原始資料的可能
請得要用 using 來初始化物件 或是 dispose 

            using(var provider = new SHA512CryptoServiceProvider())
            {
                byte[] hashvalue2 = provider.ComputeHash(data2ToHash);
                return BitConverter.ToString(hashvalue2).Replace("-", "").ToLower();
            }
More...
Bike, 2023/5/18 下午 02:16:33
XML 的弱掃修正
先貼一下,有空再整理
XmlReaderSettings settings = new XmlReaderSettings();
            settings.DtdProcessing = DtdProcessing.Prohibit;
            settings.XmlResolver = null;            
            XmlReader xmlReader = XmlReader.Create(new StringReader(value), settings);
  
            XmlDocument doc = new XmlDocument();
            doc.XmlResolver = null; //弱掃修正
            doc.Load(xmlReader);
            return doc;
More...
Bike, 2023/5/17 下午 03:39:43
Entity Framework 用起來和 Daper 越來越像了
Entity Framework 提供了 ExecuteSqlRawAsync 和 FromSqlRaw  之後,可以和 Dapper 非常類似的用法。

我們在用 Dapper 時。最常用的就是 sql command 加上一個物件做為參數,就可以執行 CRUD 的動作。

其實用 Entity Framework 的 ExecuteSqlRawAsync 和 FromSqlRaw 也可以逹到幾乎一樣的效果。

ExecuteSqlRawAsync 和 FromSqlRaw 接受的參數是 object array (其實是 Microsoft.Data.SqlClient.SqlParameter 的 array)

所以我們先做一個 Object to Microsoft.Data.SqlClient.SqlParameter Array 的擴充, 可參考: https://gist.github.com/aliozgur/75182b2e9b0a58b83443

不過很奇怪的是,原作者提供的擴充轉出來的會是 System.Data.SqlClient.SqlParameter  Array 無法直接使用於 ExecuteSqlRawAsync 和 FromSqlRaw,所以要稍微改一下,把 using System.Data.SqlClient; 改為 using Microsoft.Data.SqlClient; 即可:



另外,我們再自行 對 DbContext 做一個擴充如下:

        /// <summary>
        /// 會把物件 Parameter 的各 Property 帶入 SQL 中.
        /// </summary>
        /// <param name="dbct"></param>
        /// <param name="sql"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public static async Task<int> ExecuteParameterSqlAsync(this DbContext dbct, string sql, object parameters)
        {
            return await dbct.Database.ExecuteSqlRawAsync(sql, parameters.ToSqlParamsArray());
        }



最後的結果可以做到以下的效果: (res3 和 res4 是配合 FormattableString 的範例 )

 
範例程式碼:
        public async Task<object> EfTest()
        {
            var dbct = Ds.NewContext.GvContext;
            var insertSql = @"Insert into ProfileEvent(JobId,[Name],GvShoplineId,LiShoplineId,Phone,Email,LineId,GaClientId)
            Values(@JobId, @Name, null , null , null , @Email, @GaClientId , @GaClientId )";

            //執行 SQL 的原生寫法
            await dbct.Database.ExecuteSqlRawAsync(insertSql, new object[]
            {
                new SqlParameter("@JobId", 10),
                new SqlParameter("@Email", "XX'TT"),
                new SqlParameter("@Name", "AA'BB"),
                new SqlParameter("@GaClientId", "GaClientId"),
            });

            //執行 SQL 的擴充寫法
            await dbct.ExecuteParameterSqlAsync(insertSql, new
            {
                JobId = 10,
                Email = "XX'TT",
                Name = "AA'BB",
                GaClientId = "GaClientId"
            });

            //關於查詢
            string name = "%'B%";
            //原生寫法
            var res1 = await dbct.ProfileEvents.FromSqlRaw("Select top 100 * from ProfileEvent where Name like @name",
                new object[]
                    {
                        new SqlParameter("@name", "%'B%")
                    })
                .ToListAsync();

            //擴充, object to SqlParameter array
            var res2 = await dbct.ProfileEvents.FromSqlRaw("Select top 100 * from ProfileEvent where Name like @name",
                new { name }.ToSqlParamsArray())
                .ToListAsync();

            var res3 = await dbct.ProfileEvents.FromSql($"Select top 100 * from ProfileEvent where Name like {name}")
                .ToListAsync();

            var res4 = await dbct.ProfileEvents.FromSqlInterpolated($"Select top 100 * from ProfileEvent where Name like {name}")
                .ToListAsync();

            return new { res1, res2, res3, res4 };
        }

 
More...
Bike, 2023/5/6 下午 05:37:19
HTTP 錯誤 403.503 - Forbidden
 
正常情形下,不應該出現需瀏覽目錄的錯誤訊息
如遇此錯誤,檢查IIS的IP位址及網域限制設定是否跑掉。
 
  
 
More...
Reiko, 2023/5/3 下午 01:54:53
mssql 開啟127.0.0.1
 開啟TCPIP
 

重啟SQL Server
 
注意連線可能有port要記得設定
 



 
More...
Doug, 2023/5/3 下午 12:44:41
|< 12345678910… >|
頁數 4 / 55 上一頁 下一頁
~ Uwinfo ~