同事想透過 SQL Profile 來側錄 TSQL 語法,開啟權限後,竟然是告知完全沒有錄到資料,確認問題點後,筆記問題點
Q1:HostName 在哪,必須先勾選右下角 [顯示所有資料行] 後,再去上方向右拖曳就可以找到 [HostName] 欄位
Q2:篩選條件輸入,個人習慣是利用模糊搜尋方式來進行篩選,也就是輸入 [%關鍵字%] 當成篩選條件
同事問題點在於找不到 HostName 欄位,所以改用 LoginName,LoginName 是輸入 [關鍵字%] 當成篩選條件,但又誤會 LoginName,原來不是 ClinetName\UserName,而是 ServerName\UserName,模糊搜尋習慣,以前也沒有注意到這一點,確認問題點順道長知識
星期日, 1月 27, 2019
星期五, 1月 25, 2019
[EF] 導覽屬性
透過 LINQ 和導覽屬性來產生預期結果
Model-NavigationContext
Model-NavigationContext
namespace NavigationProperty.Models
{
using System.Data.Entity;
public partial class NavigationContext : DbContext
{
public NavigationContext()
: base("name=NavigationContext")
{
}
public virtual DbSet<Customer> Customer { get; set; }
public virtual DbSet<Order> Order { get; set; }
public virtual DbSet<OrderDetail> OrderDetail { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Customer>()
.HasMany(e => e.Order)
.WithRequired(e => e.Customer)
.WillCascadeOnDelete(false);
modelBuilder.Entity<Order>()
.HasMany(e => e.OrderDetail)
.WithRequired(e => e.Order)
.WillCascadeOnDelete(false);
}
}
}
星期日, 1月 20, 2019
星期五, 1月 04, 2019
[C#] DataBinding 上顯示民國年
之前以為 DataBinding 沒有辦法轉成民國年,最近才發現原來 DataBinding 是可以設定 CultureInfo,筆記測試結果並整合該篇筆記 - [C#] DataGridView 內顯示民國年
Add 多載說明
C# Code
測試 DateTimePicker 時發現該篇-文章,該控件看起來是無法轉成民國年就是,反正本來就沒有使用它,直接跳過
Add 多載說明
C# Code
namespace DataBinding4TWDate
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string FormatString = "yyy/MM/dd";
private void Form1_Load(object sender, EventArgs e)
{
CultureInfo ci = CultureSetting();
bindingSource1.DataSource = GetData();
bindingNavigator1.BindingSource = bindingSource1;
// TextBox
txtEmpNO.DataBindings.Add("Text", bindingSource1, "EmpNO");
txtEmpName.DataBindings.Add("Text", bindingSource1, "EmpName");
txtHireDate.DataBindings.Add("Text", bindingSource1, "HireDate", true, DataSourceUpdateMode.OnValidation, null, FormatString, ci);
// DataGridView
dataGridView1.DataSource = bindingSource1;
string ColHireDate = "ColHireDate";
dataGridView1.Columns[ColHireDate].DefaultCellStyle.FormatProvider = ci;
dataGridView1.Columns[ColHireDate].DefaultCellStyle.Format = FormatString;
}
private CultureInfo CultureSetting()
{
CultureInfo ci = new CultureInfo("zh-tw");
TaiwanCalendar tc = new TaiwanCalendar();
ci.DateTimeFormat.Calendar = tc;
return ci;
}
private List<Employ> GetData()
{
var Data = new List<Employ>()
{
new Employ(){ EmpNO = "1" , EmpName = "張三" , HireDate = new DateTime(1999,10,3)} ,
new Employ(){ EmpNO = "2" , EmpName = "李四" , HireDate = new DateTime(2015,7,7)} ,
new Employ(){ EmpNO = "3" , EmpName = "王五" , HireDate = new DateTime(2017,5,3)} ,
};
return Data;
}
}
public class Employ
{
public string EmpNO { get; set; }
public string EmpName { get; set; }
public DateTime HireDate { get; set; }
}
}
測試 DateTimePicker 時發現該篇-文章,該控件看起來是無法轉成民國年就是,反正本來就沒有使用它,直接跳過
星期三, 1月 02, 2019
[VFP] Automation 應用 - 允許編輯範圍
突然被使用者提出需求說,要對某份 Excel 設定保護唯讀,但是某欄位要可以進行編輯,直接在 Excel 上進行設定時,直覺是 Excel 2016 上功能,好像跟以前版本不太一樣
在 [VFP] Automation 在 Excel 上的應用 筆記中,有發現以前是透過對欄位進行[鎖定]設定來達到需求,測試過在 Excel 2016 上[鎖定]也還是可以用,現在是透過[允許編輯範圍],整合一下兩種用法囉
在 [VFP] Automation 在 Excel 上的應用 筆記中,有發現以前是透過對欄位進行[鎖定]設定來達到需求,測試過在 Excel 2016 上[鎖定]也還是可以用,現在是透過[允許編輯範圍],整合一下兩種用法囉
-- 原設定方式
loExcel.ActiveSheet.Range("目標範圍").Select
loExcel.SELECTION.Locked = .F.
loExcel.ActiveSheet.Protect("密碼")
-- Excel 2016 設定方式
TargetRange = loExcel.ActiveSheet.Range("目標範圍")
-- 範圍名稱可以隨便取,不要重覆就好,預設是範圍1、範圍2 ... 的流水號
loExcel.ActiveSheet.Protection.AllowEditRanges.Add("範圍名稱",TargetRange)
loExcel.ActiveSheet.Protect("密碼")
- 參考資料
- AllowEditRanges.Add