MERGE 陳述式的目標不能是遠端資料表、遠端檢視或針對遠端資料表的檢視在 MSDN 上也有找到相關說明,指出 Target_Table 不能是遠端資料表,但 Table_Source 可以喔
星期五, 3月 24, 2017
[SQL] MERGE 搭配 Linked Server
有個需求想要透過 Linked Server 搭配 MERGE 語法來同步資料,在 try 的時候才發現到,原來 MERGE 語法的 Target_Table 不能是遠端 Table,會出現下面這段錯誤訊息
星期四, 3月 16, 2017
[X.Form] 設定 Label.Text
[Xamarin.Forms] 從XAML開始 教學影片中在 xaml 內指定 Label View 的 x:Name,就可以在 cs 檔案 (Code Behind) 內,直接指定 Label
該筆記內容是在 cs 內把 Label.Text 從預設的 Welcome to Xamarin Forms! 改為 Hello World to Xamarin Forms!
xaml
該筆記內容是在 cs 內把 Label.Text 從預設的 Welcome to Xamarin Forms! 改為 Hello World to Xamarin Forms!
xaml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:App1"
x:Class="App1.MainPage">
<Label
x:Name="lbl"
Text="Welcome to Xamarin Forms!"
VerticalOptions="Center"
HorizontalOptions="Center" />
</ContentPage>
cs 檔案using Xamarin.Forms.Xaml;
namespace App1
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
lbl.Text = "Hello World to Xamarin Forms!";
}
}
}
星期三, 3月 15, 2017
[X.Form] DataBinding - View to View
參考這兩篇文章的筆記
利用 Slider 控制兩個 Label 的 Rotate 和 FontSize 屬性,來了解 DataBinding
Xaml 內容
顯示結果
利用 Slider 控制兩個 Label 的 Rotate 和 FontSize 屬性,來了解 DataBinding
Xaml 內容
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:DataBindingSample"
x:Class="DataBindingSample.MainPage">
<StackLayout
BindingContext="{x:Reference Name = slider}">
<Label
Text="ROTATION"
FontAttributes="Bold"
FontSize="Large"
Rotation="{Binding Path=Value}"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
<Label
Text="FontSize"
FontAttributes="Bold"
FontSize="{Binding Path=Value}"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
<Slider
x:Name="slider"
Maximum="360"
VerticalOptions="CenterAndExpand" />
<Label
Text="{
Binding Value,
StringFormat='Slider:{0:F0}'}"
FontAttributes="Bold"
FontSize="Large"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
</StackLayout>
</ContentPage>
- 重點1
BindingContext="{x:Reference Name = slider}"
// 可以寫成
BindingContext="{x:Reference slider}"
// 省略 Name
- 重點2
<Label Text="ROTATION" BindingContext="{x:Reference Name = slider}">
<Label Text="FontSize" BindingContext="{x:Reference Name = slider}">
或是直接在 StackLayout 上設定 BindingContext<StackLayout BindingContext="{x:Reference Name = slider}">
- 重點3
Rotation="{Binding Path=Value}"
// 可以寫成
Rotation="{Binding Value}"
// 省略 Path
- 重點4
Text="{Binding Value,StringFormat='Slider:{0:F0}'}"
StringFormat 用單引號包起來顯示結果
- 20170528
- Xamarin.Forms-帶領你用最有效率的方式開發APP- 5-2. View之間的Binding 也是相同概念範例
星期一, 3月 13, 2017
[X.Form] XamlCompilation
閱讀 [Xamarin.Forms] 從XAML開始 的筆記
重點:
在 xaml 內把 Text Property 故意改錯,執行時期才在模擬器上顯示錯誤
在 class 上指定 XamlCompilation,編譯時期在錯誤清單內就會顯示異常
重點:
- 設定 XamlCompilation 可以讓 xaml 在編譯時期進行偵錯,而不是執行時才發現錯誤
- XamlCompilation 是 attribute,可以放在 class、namespace 或 assembly 上
- 要引用 using Xamarin.Forms.Xaml 才能使用
在 xaml 內把 Text Property 故意改錯,執行時期才在模擬器上顯示錯誤
在 class 上指定 XamlCompilation,編譯時期在錯誤清單內就會顯示異常
星期五, 3月 03, 2017
Dapper
該篇單純紀錄 Dapper 使用範例,下面這三篇大神文章,有較多理論介紹
C# 環境建置 - MS SQL TSQL Script 在筆記最下方
C# 環境建置 - MS SQL TSQL Script 在筆記最下方
App.Config 連線字串
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<connectionStrings>
<add name="default" connectionString="Data Source=.\SQL2016;Initial Catalog=Demo;Integrated Security=True;" providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
// Entity
public class Employee
{
public int ID { get; set; }
public string EmpName { get; set; }
public DateTime HireDate { get; set; }
public decimal Salary { get; set; }
}
public class Product
{
public string ProdID { get; set; }
public string ProdName { get; set; }
public string ProdURL { get; set; }
public ProductDetail PD { get; set; }
}
public class ProductDetail
{
public int ID { get; set; }
public string ProdID { get; set; }
public string DetailName { get; set; }
}
// 顯示 Employee 資料
private static void ShowData(IEnumerable<Employee> data)
{
foreach (Employee e in data)
{
Console.WriteLine(e.ID + " - " + e.EmpName.Trim() + " - " + e.HireDate.ToString("yyyy/MM/dd") + " - " + e.Salary);
}
}