كۆرۈش: 235|ئىنكاس: 4

Windows Phone 7.1 (مانگو) دا SQLSeerver CE ساندان ماڭدۇرغىلى بولىدۇ   [ئۇلانما كۆچۈرۈش]

Rank: 9Rank: 9Rank: 9

ئاقچا
2
جۇغلانما
51
توردا
2 سائەت
نادىر
0
تېما
1
يوللىغان ۋاقتى 2012-1-14 17:03:41 |ھەممە قەۋەتنى كۆرۈش
Windows Phone 7.1 (مانگو) دا SQLSeerver CE ساندان ماڭدۇرغىلى بولىدۇ
6 f$ }# d, |9 x& M  P3 o) t4 W4 N4 f: r. _  R6 I$ L
(Windows Phone سەھىپىسى تېخى بېكەت سەھىپىسىگە قوشۇلماپتۇ.)
; {6 ?" p/ _" q# H; C) `  X& O5 h% P5 O( ?6 j; R8 t" q

  @7 g7 f6 z3 N: U) ^) K, x* v$ N7 u( r  h$ m4 F! a
Windows Phone نىڭ تۇنجى نەشىرى 7.0 دە يەرلىك ساندان قوللىمايدىغان بولۇپ، ساندان ئىشلەتمەكچى بولسا پەقەت ئۈچىنچى تەرەپ ساندان بۆلىكى ئىشلىتىشكىلا توغرا كېلىدۇ. Windows Phone نىڭ SQL Server CE يەرلىك ساندانى بولسا ماڭگودا يېڭىلانغان يېڭى ئالاھىدىلىكى بولۇپ، 7 p2 e! c5 l0 [% e% J' s# @6 V! l9 V' k
سىز قوللانما پروگراممىدا SQL Server CE ساندان ئىشلەتمەكچى بولسىڭىز چوقۇم Windows Phone7.1نىڭ API نى ئىشلىتىشىڭىز لازىم.
! u. ^+ ]# l' Z& f! @, Eتۈۋەندە بىر ئەمەلىي مىسال ئارقىلىق SQL Server CE نى قانداق ئىشلىتىش كۆرسىتىلىدۇ.+ C1 O6 b: h+ A! u5 V, Z) r
(1) ساندان جەدۋىلى قۇرۇش ۋە سانداندىكى مەلۇمات ماسلىق خەت DateContent' A) ]5 ~, O8 l# J, |/ M& |
ئاۋال بىر خادىم ئۇچۇر جەدۋىلى قۇرىمىز، خادىم ئىسمى ۋە تۇنۇشتۇرۇشىنى ساقلاشقا ئىشلىتىلىدۇ، خىزمەتچى جەدۋىلىدە بىر ئاشار ID بولىدۇ.
  1. EmployeeTable.cs
    : J2 A8 v& u' X0 @; v& v
  2. using System.Data.Linq.Mapping;
    9 r# Q) J& E' J8 M/ {! g. J
  3. using System.ComponentModel;
    # ^- e9 `' p8 a( |4 o

  4. ! G7 C& o& p( w" x+ X
  5. namespace SQLServerDemo
    ! U, F' i3 M: S- m1 U: L
  6. {
    , A2 C& Z& [' F0 z- D7 E# G; p
  7.     [Table]3 y- Q( Y7 ~8 Y. X+ y  A  X
  8.     public class EmployeeTable : INotifyPropertyChanged, INotifyPropertyChanging* P" I; Q* c, G3 g
  9.     {
    ! c0 B4 @2 O: d: |( d9 n$ o
  10. - @$ ?  n- A" k- H) |6 p
  11.       //خادىم جەدۋىلىنىڭ ئاشار ID سىنى بەلگىلەش، ئاچقۇچ قىلىندۇ.
    / G- k' a( a0 U+ Z
  12. + t) T$ t6 s# C& D) R( x& |+ L1 |
  13.         private int _employeeId;5 q4 I  G: y6 Q  h8 X

  14. 2 R( C% k7 d4 B1 L0 v6 S
  15.         [Column(IsPrimaryKey = true, IsDbGenerated = true, DbType = "INT NOT NULL Identity", CanBeNull = false, AutoSync = AutoSync.OnInsert)]
    ( [% j: f5 i/ P7 O& z  c
  16.         public int EmployeeID8 p! f! a/ [* }8 [& a" B/ P2 r
  17.         {) ~  x1 ~# C. n3 c# G% o4 C$ E6 Y
  18.             get
    & P0 A% O8 ^* `2 N" s
  19.             {
    ! L+ t: o% P7 c, G
  20.                 return _employeeId;  {0 O& t5 e1 E' k* {' C
  21.             }
    " Z  O; Y- d4 ^* D! o2 C8 `
  22.             set
    ; D8 j* q, J: N0 ~; t& b
  23.             {
    ' a! c, w. H/ I
  24.                 if (_employeeId != value)
    4 `% f$ U3 K. M% @
  25.                 {& x  g; Z7 |( F3 D) O
  26.                     NotifyPropertyChanging("EmployeeID");
    + Z( N4 L) J- t2 c
  27.                     _employeeId = value;
    , ]6 W. a' `" u( k
  28.                     NotifyPropertyChanged("EmployeeID");2 E0 G6 d3 g1 T, k, d; ]& n
  29.                 }% o% x5 h1 [4 S$ k1 R
  30.             }' h) s& z7 \+ p! u  }6 b* A
  31.         }, |8 ]/ j1 A& W$ {
  32. : s1 k1 m4 ]) R1 a9 h; q  L) ~
  33. 0 {- s3 [% {7 ~* _* a# Z
  34.       //خادىم ئىسمى ھالقىسىنى ئېنىقلاش3 T( g( L8 I( ^# T! Y8 C3 I
  35. ( K1 I; t/ |2 j# q4 s/ p
  36.         private string _employeeName;5 I3 r+ o. t' {* l

  37. 4 X. Z8 S) g" y4 h5 n
  38.         [Column]) p$ d5 V+ e! {& j+ j3 G: @
  39.         public string EmployeeName3 n5 q: W% n" C) I/ y
  40.         {
    0 n/ S8 p1 _' R0 W) H
  41.             get, S0 ~! n5 y4 ?9 X$ G
  42.             {
    : B1 S$ b2 T& u2 L
  43.                 return _employeeName;. o0 A) L$ `: Z
  44.             }& x# z+ W1 B0 p/ A! F2 ]6 L
  45.             set
    ) B9 s: [) w. B0 K  U, W' x
  46.             {
    % D# h5 L# C7 G5 R7 P7 j% c
  47.                 if (_employeeName != value)2 v  |, X( o) X: \( ]7 g( V
  48.                 {
    6 ^3 G- M5 V% ^* i
  49.                     NotifyPropertyChanging("EmployeeName");$ t( o" K. v: o6 g, G
  50.                     _employeeName = value;' w- Q: d% Y( ]: w9 m% C
  51.                     NotifyPropertyChanged("EmployeeName");7 z( w0 @" w0 B/ X5 O2 `) r
  52.                 }
      r/ w6 Y2 _5 l1 t; L, s
  53.             }
    % {* R3 L$ ]: O/ e) \# Z& l  E
  54.         }
    * [' E7 {% E, o/ R) i. m9 y

  55. ; z  d& s& d2 o- i5 b. B

  56. 3 A! I% R) h" [7 S$ P9 X: B
  57.       //خادىم تۇنۇشتۇرۇلۇشى ھالقىسىنى ئېنىقلاش
    ( q1 t6 h9 u5 g* F) B
  58. 9 n, F3 d) p- C4 c/ v: N& }
  59.         private string _employeeDesc;# }) D3 p0 |: |- k
  60. ! U  o( A. G  i( p3 h7 u
  61.         [Column]5 A; H+ s  j* ~! [* S" n! p
  62.         public string EmployeeDesc- [- y4 @# A9 _3 p/ ]
  63.         {
    6 K8 c6 C8 [  s6 G  \: U! W
  64.             get2 s+ U* K* l' Q
  65.             {
    4 G# \/ E# n% \- {4 C" z0 X
  66.                 return _employeeDesc;% S0 W8 G0 f3 O- f5 q/ p
  67.             }
    9 p' `) R9 h9 T) G- w
  68.             set( E) ^5 X! j/ C/ P" m  p
  69.             {4 }" u, S& D0 n5 l8 ]5 ^9 m
  70.                 if (_employeeDesc != value)/ }; u! r& e8 d& I4 Z
  71.                 {( Y1 a( Y& ]- C" u# d
  72.                     NotifyPropertyChanging("EmployeeDesc");: c7 F& q) J  l1 q( A; P
  73.                     _employeeDesc = value;0 U! J( _) x  F
  74.                     NotifyPropertyChanged("EmployeeDesc");
    % d5 w& G+ N/ i& f) i
  75.                 }
    ' B5 Z" v. [0 v4 z0 ~$ r
  76.             }
    % {: K3 |, R) {) D/ b- U
  77.         }, k6 X9 t) ]7 v7 O
  78. 4 u9 b8 l! Y5 z6 y0 ^
  79.         #region INotifyPropertyChanged Members  D! g& s9 N  p* t& T  Y9 \, g9 T

  80. ( l/ N  ?4 T  h4 G; ?4 M
  81.         public event PropertyChangedEventHandler PropertyChanged;
    , k( G8 O# u) U! Z! {* m
  82. 5 [8 U% }# |9 B: W
  83. 1 B- K+ A  k4 h, r; K
  84.        //جەدۋەلنىڭ ھالقىسىدا سانلىق مەلۇماتنىڭ ئۆزگەرگەنلىگىنى بەتكە ئۇقتۇرۇشقا ئىشلىتىلىدۇ
    # ~; D2 p2 a8 ?1 R& N8 R

  85. ! M* A7 a# o; i0 X. P9 ?
  86.         private void NotifyPropertyChanged(string propertyName)
    2 E) }7 ~4 N1 {+ o* c; d, j
  87.         {" l% F. d. J0 c. E
  88.             if (PropertyChanged != null)
    ) L# I' p! }5 e/ {
  89.             {
    * m+ N& r7 A. n3 L8 r. S# _
  90.                 PropertyChanged(this, new PropertyChangedEventArgs(propertyName));5 c6 |/ \7 M  V' I" W0 l1 D
  91.             }
    ! I* \7 F8 n: i) c( P( g
  92.         }
    8 B! f  @9 r  K  C4 F# F9 L
  93. 7 l8 _$ i! H6 x; l3 k" H
  94.         #endregion
    $ ^0 `  T2 \8 D& `

  95. 5 @( H& B* h4 r4 M
  96.         #region INotifyPropertyChanging Members
    0 x2 ?, i+ U8 I, M: G, C

  97. ; x# J9 C8 t) C' l
  98.         public event PropertyChangingEventHandler PropertyChanging;
    7 @: b3 b; G$ K- R( @* G& C' \
  99. - V7 Y6 n2 h; Y  {

  100. 4 |: c4 x* O& S- ]5 e
  101.        //جەدۋەل ھالقىسى مەلۇماتىنىڭ ئۆزگەرمەكچى بولغانلىقىنى ماسلىق خېتىگە ئۇقتۇرۇشقا ئىشلىتىلىدۇ0 J# `6 `! Q% }' J

  102. : n( g( Z" n/ o9 M
  103.         private void NotifyPropertyChanging(string propertyName)
    9 `8 g- L1 `5 j" N; e0 E  m& K6 O
  104.         {
    . F& H" A1 j& S& t) a
  105.             if (PropertyChanging != null)
    7 d3 e. S' F. d! G7 b  ]
  106.             {
    5 C( b4 _% p5 W- b4 Z; h6 ]7 p: H
  107.                 PropertyChanging(this, new PropertyChangingEventArgs(propertyName));: \, e% B- U9 o; b
  108.             }
    $ k" L4 L" ^- f. c
  109.         }
    # d1 e2 [1 p" K3 R2 b
  110. ! d" _( h, U7 G! y6 K( m  Q- y
  111.         #endregion
    % N4 l1 c/ Z; V

  112. * A* R( k, J6 N$ {3 n5 W1 q' e
  113.     }
    ; F% ^* {# n6 R7 \/ B
  114. }
    + S, O% `1 \) D- J
  115. سانداننىڭ DataContent سىنى قۇرۇش، بىر EmployeeDataContext تۈرى قۇرۇش ئارقىلىق DataContext غا ۋارىسلىق قىلىپ، EmployeeDataContext ئىچىدە ساندان ئۇلاش تىزمىسى، خادىم ئۇچۇر جەدۋىلى ئېنىقلايدۇ., q* k: \- N! e# T9 u9 Y* W0 Q
  116. using System.Data.Linq;
    : W1 }3 M* V& j2 D/ {

  117. % D$ z  [2 f1 t, B
  118. namespace SQLServerDemo
    6 `/ O6 Z6 x# V* x3 F
  119. {0 t/ a- |) s. C% X
  120.     public class EmployeeDataContext : DataContext
    ' u6 @2 a' I+ E% g7 }# E
  121.     {& K) J1 S' L0 T; k2 ^4 O. {* B
  122. # A! _! s- ]! f
  123. % t1 w, `3 h4 J9 t" k7 v! \; V
  124.        //ساندان ئۇلاش تىزمىسى
    : W9 f2 h/ T, j, h$ z

  125.   C: p5 _3 b9 [& B! @' D
  126.         public static string DBConnectionString = "Data Source=isostore:/Employee.sdf";  x$ k( Y, L7 k( b

  127. " o2 c0 u, h+ E2 o0 R

  128. 2 F: w* i( i, W3 z0 E; U2 ~
  129.        //ساندان ئۇلاش تىزمىسىنى DataContextئاساسى تۈرگە يوللايدۇ6 I5 l% g2 j* z+ z

  130. ( f3 p  f. m# u* }8 C" E
  131.         public EmployeeDataContext(string connectionString), q! v" C& Z7 q$ S: d& X9 M" I
  132.             : base(connectionString)' \/ O% t* X- F5 k. E
  133.         { }
    3 N0 p2 R8 q+ s4 _
  134. 4 C/ n+ }, i. y  |- Q% |2 x0 ?% g

  135. 1 s& P$ m( \) q
  136.        //بىر خادىم جەدۋىلى ئېنىقلايدۇ9 |0 H5 I- w7 o; h  t  \
  137. ) ^8 Q9 n6 p2 v. n7 y. C
  138.         public Table Employees;
    0 E+ Y7 f" X5 B) C& p! Q
  139.     }
    . V4 N7 }; C1 s- [" @: B( b6 M
  140. }# `) b( U$ U* V) E6 e" o) H6 C
  141. (2) بەت مەلۇماتلىرى باغلاش توپىنى قۇرۇش
    ' `" k1 I7 P7 R% z) A, B
  142. using System.ComponentModel;
    3 c. b1 x3 c7 k) _* l+ B/ ]
  143. using System.Collections.ObjectModel;- N2 s7 y$ w$ `2 }3 {" a) ~

  144. 2 E( Q9 j2 f3 A
  145. namespace SQLServerDemo3 n' B, \( c  m3 o6 W$ ^8 k) |! J
  146. {- U0 C8 f; H; ?$ f5 ^0 l
  147. 2 o4 T$ h) {1 U( D* e" B
  148.       //EmployeeCollection بولسا بەتتىكى مەلۇماتقا باغلاشقا ئىشلىتىلىدۇ5 x# W) {* i4 f1 W9 l, t1 X1 n1 @% p
  149. ( `' I/ ^& E' C: e# \5 ~3 I
  150.     public class EmployeeCollection : INotifyPropertyChanged! L! ?7 l3 J7 @
  151.     {7 y2 g% U: {+ L
  152. 5 M, T) i( {0 R

  153. 5 G# h) K. W$ V$ Y# w* a5 I
  154.        //ObservableCollection نى ئېنىقلاش ئارقىلىق بەتتىكى مەلۇماتنى باغلاش4 U/ s* ?* F. `" D7 q

  155. % o# E  b3 x$ F, H0 y
  156.         private ObservableCollection _employeeTables;
    ) Z0 J. ?. n) Z  D0 f
  157.         public ObservableCollection EmployeeTables2 _! x2 u7 {( d  A
  158.         {
    1 ?% F7 p% @( c7 c/ v
  159.             get
    1 G% C' z; L! D$ z  P
  160.             {5 U) K* v: h2 A/ w
  161.                 return _employeeTables;
    9 w  g4 O/ X, |
  162.             }
    7 F; o3 i, y% `1 f+ N- O8 r
  163.             set) t) f. {$ }% D  |
  164.             {
      E  o" S: v4 i1 Y8 T
  165.                 if (_employeeTables != value)9 O# g/ M( u9 X% A5 Q4 T
  166.                 {
    4 |9 Q7 I2 L0 H- {2 f1 W
  167.                     _employeeTables = value;, u* R* M5 G# m( T. n
  168.                     NotifyPropertyChanged("EmployeeTables");
    - w& Y+ g6 \  U6 Y. Z+ V# V
  169.                 }2 O4 @: U. Q, i2 X; K' V
  170.             }9 g" O  ?# A- d# f  J! M
  171.         }1 w9 j- I. V7 o" P( L; _: {
  172. : s/ d8 x% H/ k
  173.         #region INotifyPropertyChanged Members
    + L2 \9 N! B8 ^/ h% B' Z1 m
  174. , v% T" R/ Q% }1 K6 K! Y: L5 J
  175.         public event PropertyChangedEventHandler PropertyChanged;- X4 K, p, V  e3 Y; B5 d

  176. # o6 _. V, Z; B4 M. I

  177. 6 Y# @2 W0 e1 ?7 w5 ?7 _
  178.        //خاسلىقنىڭ ئۆزگەرگەنلىكىنى ئۇقتۇرۇشقا ئىشلىتىلىدۇ
    / a" A4 q* q8 l/ }
  179. - @/ M7 Y* U0 u7 V& h) R# ]
  180.         private void NotifyPropertyChanged(string propertyName)( @$ R: y+ W# R( j; P
  181.         {8 C; e. ]" A! K1 b9 j3 B! B
  182.             if (PropertyChanged != null)/ N9 f0 ~; R$ v/ i5 `5 X" |
  183.             {
    , u. t, t) x! y' ?% }0 ~
  184.                 PropertyChanged(this, new PropertyChangedEventArgs(propertyName));+ ?; a9 q! T; P! c7 e! A) M6 Z
  185.             }
    + d3 I# H" l" O0 d
  186.         }
    ( O- _, N+ ?# F# `" R4 ^  R
  187.         #endregion
    6 G" _) Y0 m; V8 S  o
  188.     }* M  }3 X( @+ E
  189. }
    * j6 g5 H. u/ B0 q
  190. (3) ساندان قۇرۇش، مەلۇمات باغلاش، خادىم ئۇچۇرى جەدۋىلىنىڭ قوشۇش ئۆچۈرۈش ئۆزگەرتىش ئىزدەش مەشغۇلاتىنى ئورۇنداش.0 L' y- C1 \) e) J& N
  191. App.xaml.cs دىكى تەرتىپ يۈكلەش ئەھۋالى ئىچىدە ساندان قۇرۇۋېتىش  k) G4 C, g  W! r# `) @
  192. private void Application_Launching(object sender, LaunchingEventArgs e)
    - p" b4 S! f( w1 V
  193.         {
    5 D6 i# g2 H  o. d' y

  194. * d8 Q. C8 m3 L1 {
  195. ! v0 u  \; e: U: |8 B+ S) b
  196.          //ئەگەر ساندان مەۋجۇت بولمىسا بىر ساندان قۇرۇش
    $ L$ P8 ^& E, L; Y5 j

  197. 5 B# V# ]& J, x: n, h+ E2 I# D
  198.             using (EmployeeDataContext db = new EmployeeDataContext(EmployeeDataContext.DBConnectionString))( n" z+ N( o6 @* c: t$ }  @
  199.             {7 `5 I2 T2 A% L/ Y" z
  200.                 if (db.DatabaseExists() == false)! e1 P. Q  O( d+ ~
  201.                 {9 N; p3 k$ K+ I& t5 Y

  202. + T# v+ Q+ J3 ?6 p1 K' _# K

  203. ; c9 c3 G/ ?$ j+ U  ^& t
  204.              //ساندان قۇرۇش
    ! @% ~$ C5 B3 C

  205. + L6 `0 q& D3 x& q1 i" s
  206.                     db.CreateDatabase();' z7 p3 [( S0 d" g# r
  207.                 }
      B3 \' X6 N3 _" ?
  208.             }
      z' M9 e+ D9 p* j" L3 [) x+ S
  209.         }5 \4 R/ \1 t7 B3 `
  210. MainPage.xaml.cs ھۆججىتىنىڭ كودى
    9 O- ~% w0 c1 G# M% K
  211. & {+ p. x" L! {' }
  212.     x:Class="SQLServerDemo.MainPage"5 F1 m  A9 A! N3 i' x' ]: v9 g
  213.     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      ?% V0 Y& T& x# I* n6 B7 T
  214.     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml") R+ z1 b& W9 {
  215.     xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    & c2 d; p3 ]& p$ _
  216.     xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    & o. ~( Q; K9 W) u; t9 b0 ~$ {
  217.     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"7 w6 T7 V/ Z( X6 G
  218.     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    & d. y$ N& k- e' D
  219.     mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
    % G5 N4 r) t* W
  220.     FontFamily="{StaticResource PhoneFontFamilyNormal}"/ ^" P$ z- y2 H6 {# x; o# E
  221.     FontSize="{StaticResource PhoneFontSizeNormal}"
    * _. ^3 Z6 L/ a* U0 L
  222.     Foreground="{StaticResource PhoneForegroundBrush}"
    8 ~5 r* F9 H9 H: U. A: J
  223.     SupportedOrientations="Portrait" Orientation="Portrait"6 _' ?% s4 |1 U0 h) n" \+ }
  224.     shell:SystemTray.IsVisible="True">
    9 a3 f+ y7 Z' u$ [: @. I

  225. 9 Y0 U& o; Q" z9 g  w; [1 R8 k
  226.    
    8 \3 s% C, O1 ?' x$ M& n
  227.         
    1 ?9 M# g9 R  T1 k# D
  228.             
    $ ]5 }, F' c+ a6 @3 f9 X$ \4 D
  229.             - f- G) L6 O4 W3 d2 C. l& Q
  230.         
    - z8 o1 P) q" O8 R$ P' }9 p5 O
  231. 5 K- y# z* _9 N# t
  232.         
    ( s+ C  ?' a# z; L- K
  233.             
    + I1 @9 y. V5 N1 s) c( u1 R+ q2 k
  234.             , T) p" T- G1 X! H5 B) r$ M# t
  235.         
    " ?2 e9 |  a; W8 b( b

  236. 5 {  z4 z( t/ q
  237.         
    # U4 u# s; i6 e; }- @1 i( X+ N
  238.             $ s9 z- i4 w# l! F% i
  239.                
    & _; I, l# I2 j+ b
  240.                     , g& X( y! F. z1 ~8 Q9 a6 O6 F
  241.                     ) ~! `3 a3 W" Y5 y7 E% J: U) J
  242.                
    # ^/ _/ u3 K9 l. g) z; G
  243.                 2 f/ E7 V/ k" v
  244.                
    & |; @$ I- h/ D# M- ~
  245.                 " U2 ]9 n. |$ ~, ^# e& ?
  246.                
    5 ^+ p0 p: L2 }( _) C3 n  i9 f: j
  247.                 & r8 j( I3 u" k" K9 y

  248. ! M  ]3 F3 u9 L' J+ p4 F
  249.                 $ N% O4 ]0 t: Q4 S1 n
  250.                             ' Q" i" {6 f3 |
  251.                                 Grid.Column="1"
    : y% d7 Y- B* O6 n0 \! j( ^
  252.                                 x:Name="editButton"& X. K$ Y  l; l
  253.                                 BorderThickness="0"                                
    - T$ e. @  G$ E+ Y- y& r" `( U
  254.                                 Margin="209,0,81,0"
    9 z* S5 _: \- t1 f0 |
  255.                                 Click="editButton_Click"0 i( t( k! J( |/ N
  256.                                 Content="编辑" Grid.ColumnSpan="2">0 m3 ^- N6 ]! F' @( `( i- J
  257.                            
    ) P$ w0 ^0 I& n6 ^- b; ^
  258.                         
    & ^; y0 X2 L: U+ Q& K
  259.                    - ?1 [" }/ ~- h! i$ o; w; `1 l; u! Y
  260.                 4 K% j6 I  q& D
  261.                1 d8 s8 B+ w' @% u
  262.         $ M, h$ {9 d2 L, |& D4 h' x
  263.    
      m0 M0 F9 b  n

  264. 3 l- C* x* g1 h- {
  265. 0 w, Z( i5 y8 {' s& Q
  266. MainPage.xaml.cs ھۆججىتىنىڭ كودى
    . u$ z1 w  R& {5 W/ T* p
  267. using System.Linq;% _' l# x8 k. \: J& o
  268. using System.Windows;$ Q6 w$ s. }. P0 h- ^9 d4 i7 A
  269. using System.Windows.Controls;
    4 |% A# E+ X8 S$ v
  270. using Microsoft.Phone.Controls;
    ( l! }$ ]% f/ K  k5 f
  271. using System.Collections.ObjectModel;* T0 p- A0 [# t* w0 ?, Q; \
  272. 1 r7 \, J' E  \/ {
  273. namespace SQLServerDemo
    / ], C) u/ H5 z6 `% X3 w8 l! U9 v
  274. {" n8 E, C+ s( X) V, {, d( I7 ^: k
  275.     public partial class MainPage : PhoneApplicationPage
    # Z) }- E. Z7 J, P
  276.     {8 }/ G8 W2 _9 w# k- o. V
  277. . h; b: @1 [- d6 c8 i& y
  278. . O9 T# M) U2 d/ [: v9 Y
  279.         //DataContext مىسالى قۇرۇپ، يەرلىك ساندانغا مەشغۇلات قىلىش- \4 E* h: D- d3 K

  280. 3 b" U/ O: e1 b9 {
  281.         private EmployeeDataContext employeeDB;7 e" J8 {+ L, r# r5 o
  282.         private EmployeeCollection employeeCol = new EmployeeCollection();
    ) u2 L; u. v) z: D; |

  283. ! K0 Y/ l7 b% g
  284.         public MainPage()
    : G4 x/ H4 z& k; @  m8 e
  285.         {3 O/ h/ X3 s# K7 Q
  286.             InitializeComponent();8 K# `0 M1 ~: M# }/ U7 z% Q, z
  287. * b5 s: ^7 ^6 ^2 b& R* |) r% [
  288. ) t: A0 I( `+ a* r! C1 s
  289.          //ساندانغا ئۇلاش ۋە DataContext مىسالىنى دەسلەپلەشتۈرۈش3 I/ X+ ^7 Q* z' X1 B) X
  290. - j; z% R! B9 A) c! J6 P8 Y! L
  291.             employeeDB = new EmployeeDataContext(EmployeeDataContext.DBConnectionString);7 v" M3 v4 ]# m- m7 M5 N* @: b1 |4 f

  292. / ?  Y. L9 j  y3 e" w% u: D* h; D
  293.   \5 p6 l/ X- D2 B+ u
  294.          //Linq نىڭ ئىزدەش جۈملىسى ئارقىلىق EmployeeTable جەدۋىلىدىكى بارلىق مەلۇماتنى ئىزدەش- d1 c( n0 F8 _6 y
  295. 2 S$ D' x$ g4 I  f
  296.             var employeesInDB = from EmployeeTable employee in employeeDB.Employees
    4 f9 Z4 y8 t5 v* u9 M: h( P
  297.                                 select employee;
    - q4 N1 Z; b% Q
  298. 9 X/ G* K: t& o( |  T; E
  299. ) W1 S8 t/ r( X7 f, ^8 L
  300.          //ئىزدەش نەتىجىسىنى بەتتىكى مەلۇمات باغلانغان توپلام ئىچىگە قايتۇرۇش  I( J  v) Y' d8 C* v" v7 N4 |
  301. 7 \9 \. |* v4 I; ?" m
  302.             employeeCol.EmployeeTables = new ObservableCollection(employeesInDB);
    ( N8 r9 {/ @2 i. o

  303. ! s' m6 l5 G' m+ F
  304. 2 s: Y7 o* B. V( f+ H% h
  305.          //نۆۋەتتىكى بەتتىكى DataContext قا قىممەت بېرىپ، مەلۇمات باغلاش
    5 m9 e. P1 w% \& h1 }1 c6 y

  306. " l: v+ d1 w1 ~: m; [. k% J
  307.             this.DataContext = employeeCol;5 q7 s3 m4 U5 e4 M1 u
  308.         }/ T( X$ v4 R) v: b/ D$ w5 r& D
  309. 5 r% J- L7 W; f; N8 `
  310.         /// 7 l6 O7 ]3 I7 o4 U5 p. I
  311. ( o0 H2 H6 y& l. Q6 h
  312.        ///ئۆچۈرۈش مەشغۇلاتى& b$ A) n! G7 w# d

  313. * ^# ], `, f. h; C: n
  314.         ///

  315. 0 b# _8 r1 D9 S! n+ D' A3 }
  316.         /// . ]" u5 h. u, _$ A: U6 }; S- ^
  317.         /// - _8 L, }& q" U3 A2 O3 w0 ?
  318.         private void deleteButton_Click(object sender, RoutedEventArgs e)
    ' k/ x6 j- i, N) `
  319.         {
    2 X5 M" ]4 y: q; u
  320. % B8 D4 _7 c: A* A+ l2 D. L
  321.         //كۇنۇپكا چېكىلىشنى ئېلىش مىسالى: I6 ~2 p+ N) H
  322. % S5 ]( L! M$ r) _/ s3 K
  323.             var button = sender as Button;
    0 W/ f* q; ]' |7 x
  324. , B6 D; N, D* z4 d' x/ p
  325.             if (button != null)* k# Z- [. `, z  z6 e
  326.             {: ?& x! O' B" n
  327. : E, s; p4 W  \9 E2 `: f/ m8 W
  328.             //نۆۋەتتىكى كۇنۇپكىغا باغلانغان DataContext نى، ھەمدە نۆۋەتتىكى ئۆچۈرىدىغان EmployeeTable مىسالىنى ئېلىش9 x# d% q. h4 Y0 i, }, Y+ n
  329. . N2 z' A6 m" o- p
  330.                 EmployeeTable employeeForDelete = button.DataContext as EmployeeTable;
    / F0 v3 g  p4 i0 j) C$ T

  331. 8 _, h0 v# \. r7 {, N( {* |: i
  332.             //باغلانما توپلام ئىچىدىكى ئۆچۈرمەكچى بولغان EmployeeTable خاتىرىسىنى چىقىرىۋېتىش4 E# M) y" d& ~  U2 T7 ]& v
  333. 6 \9 L4 D! U- \7 W4 v& X
  334.                 employeeCol.EmployeeTables.Remove(employeeForDelete);* r& L8 g; j" a1 v. U- B" w
  335. ; a$ [( }2 B/ [$ D  i+ b, X
  336.             //ساندان ئىچىدىكى ئۆچۈرمەكچى بولغان EmployeeTable خاتىرىسىنى چىقىرىۋېتىش
    ! t  }1 G# _; d" c) l+ A( W

  337. 3 h+ S" ]9 ^' q7 B7 r" Z9 a/ o
  338.                 employeeDB.Employees.DeleteOnSubmit(employeeForDelete);1 h! n6 D, J9 o$ i3 H
  339. 5 m* ?! Z3 a$ N$ W, [( m; t" {4 X
  340.             //ساندان ئۆزگىرىشىنى ساقلاش
    , m4 |! I) W8 w3 H5 C

  341. * z" b( p; P9 z+ F9 U* Q5 W2 r' a, T
  342.                 employeeDB.SubmitChanges();
    8 u) I8 P! B" H4 [  g0 B
  343.             }  v* R, \9 {7 U
  344.         }, N9 M8 B4 R* U# X, U! {
  345.   \. O8 h; E, K' d! j4 ?: i2 H8 Z/ u
  346.         ///
    9 f8 i" M% \0 v/ [, t* H
  347. 2 |5 x9 I% S: R+ w& }  Y
  348.        ///ساقلاش مەشغۇلاتى، يېڭىدىن قوشۇلغان ۋە تەھرىرلەنگەن خادىم ئۇچۇرىنى بىر تەرەپ قىلىش3 S5 ]" b+ U. S9 b

  349. % g& z9 `7 X) B  Z
  350.         ///

  351. % \3 c, W( Y3 P
  352.         /// 9 t; ^- S, _) P7 B
  353.         /// 9 b  ^) T  N) _- \! O
  354.         private void addButton_Click(object sender, RoutedEventArgs e)# }2 O( N+ H; Y" ~4 g0 @0 V" a
  355.         {
    : X, d5 W# A& F  V

  356. " U1 Z& e5 h/ A2 P
  357.          //خادىم ئىسمى ۋە تۇنۇشتۇرۇلۇشىنىڭ قۇرۇق بولماسلىقىنى باشقۇرۇش
    ; O, Y3 Y% q2 U6 h/ d8 ^

  358. 0 k% \- W/ h) s1 F  b8 @
  359.             if (name.Text != "" && desc.Text != "")
    6 O, ~. H1 o+ M% o. s
  360.             {
    % D4 j' w& N# v* d- w2 z
  361.                 if (State.Count>0 && State["employee"] != null )//تەھرىرلەش ھالىتى
    3 W! u; D- E' ^+ W9 Q. a* f
  362.                 {8 ^) h& ^/ `' e2 I5 I

  363. . \- }  ~: e1 r$ G) ^
  364.                //تەھرىرلەنگەن EmployeeTable نىشانىنى ئېلىش
    / u  i1 y' ]8 W1 x

  365. , ?* P" R% r( c5 a. O% n- m
  366.                     EmployeeTable employee = (EmployeeTable)State["employee"];' c) q4 d- j% S0 a* I. b( H
  367.                     employee.EmployeeName = name.Text;+ N, o% R: w& @( U' `; f* r) Z
  368.                     employee.EmployeeDesc = desc.Text;3 f; [) x8 ^2 X; V$ C
  369. " R  ?: F3 O4 v
  370.               //ساندان ئۆزگىرىشىنى ساقلاش
    5 r% d  H) {! L5 T8 ]

  371. 7 U# C0 V( K8 g! z& V
  372.                     employeeDB.SubmitChanges();* {: F9 @) ?6 A( }$ F* N) J

  373. # V5 a  V1 g! H+ }; z: z6 z: R; g( ~& Q
  374.                //باغلانما توپلام مەلۇماتلىرىنى قوشۇش، چۈنكى تەھرىرلەشنى چەككەندە چىقىرىۋېتىلگەن
    ! u7 ?1 {# J& l1 U, |: h, |
  375. + M) w# U) l" I/ s6 r
  376.                     employeeCol.EmployeeTables.Add(employee);
    # ^5 Y! V- W. M
  377.                     State["employee"] = null;
    ) s% r2 n6 ^9 ]) G9 R" Q* w
  378.                 }
    , I/ C3 w" }- h1 }
  379.                 else//يېڭى قوشۇش ھالىتى 9 h/ W* [* {. f  g. j' ?

  380. & l6 j" R* o0 D+ y
  381. ; s: J4 `* [: ]) D; K$ w
  382.                 {
    ! N, T- q- }2 _& `2 z0 L4 {$ |6 _

  383. 0 w' ~/ v' u* }/ l2 Q! C: I3 Z" K
  384. 7 q9 k  }* e" d: Z- Q, z
  385.                //جەدۋەلگە بىر قۇر مەلۇمات قۇرۇش
    ) k8 D$ ~0 g* J- b2 L3 D7 z

  386. * W6 a8 T4 G9 ?8 k! |7 x/ N& [, m
  387.                     EmployeeTable newEmployee = new EmployeeTable { EmployeeName = name.Text, EmployeeDesc = desc.Text };3 K: r' V8 o" L, u: T1 T6 `

  388. 1 B  \" h) N# D/ ?) Z& w- v% n
  389. , S( M) F. l+ z- H" d
  390.               //باغلانما توپلام مەلۇماتىنى قوشۇش! e0 t4 \" b" I: g  M% x) t2 s) i
  391. 2 d1 y4 o6 ~0 M8 p2 j
  392.                     employeeCol.EmployeeTables.Add(newEmployee);1 v7 Y" p& z) G6 f' g# b5 K" J$ d

  393. 3 d, I& y9 `, K0 k) A$ p

  394. 5 M2 [& D2 w  _8 F6 J' N
  395.               //ساندانغا قىستۇرۇش& F4 c7 ~. p7 {+ o

  396. / V) S& b; Q- ]' P. d
  397.                     employeeDB.Employees.InsertOnSubmit(newEmployee);2 [  U: p+ R' b$ r3 @
  398. 8 }) A4 B& B( I. `

  399. % B6 H1 c0 R1 P% Z
  400.               //ساندان ئۆزگىرىشىنى ساقلاش
    ' _$ I' r7 X# q" j0 [3 d

  401. / k6 s! \( j% P: v; y" ^' R
  402.                     employeeDB.SubmitChanges();
    ) q3 w: u- y% Y4 T+ ~" s( N; l
  403.                 }
    & |) S; X0 E5 W" c* a5 I( {
  404.                 3 J( z3 X1 i2 I- X
  405.                 name.Text = "";
    $ H9 L$ G5 R5 T% `5 D
  406.                 desc.Text = "";8 z% K6 T6 T5 Q4 {; O! H* C, j0 E
  407.             }
    4 o  K( e. |+ j0 y
  408.             else9 j3 [) R; m3 G3 s$ y6 N
  409.             {7 z! Z" c8 E  d& V1 Z. H1 q4 S$ Y7 n
  410.                 MessageBox.Show("姓名和简介不能为空!");( e& T+ b4 h) x" D4 X) S
  411.             }
    ) |& H# _" u0 q; ~) {8 p
  412.         }
    # p* T  P1 a" _
  413. ( h% \; C& Y  w* z. D* F6 `
  414.         /// + O: U6 P7 E6 U, S

  415. " m; h0 S0 L1 K, `  P
  416.        ///تەھرىرلەش مەشغۇلاتى6 f: J, E% G( a- J/ {& ]& \; X* Q% q
  417. 9 A8 ?4 E# d( U0 T# T9 `+ O
  418.         ///

  419.   V$ N3 X% H% |* T7 O0 B* T1 b/ l2 q
  420.         ///
    8 p4 s% @8 Y- P* J$ Q. M/ P3 v
  421.         ///
    1 s  g" i3 ]+ L
  422.         private void editButton_Click(object sender, RoutedEventArgs e)) P' j0 a8 n5 p4 |7 y) s; C, l0 h: Y  n
  423.         {" z5 B% p$ Y' ?+ x3 S, s3 p
  424. 9 v" t: m* u3 b
  425.          //كۇنۇپكىنىڭ چېكىلىشىنى ئېلىش مىسالى
    8 `- {( n) w1 v# \

  426. " c# R% N: j1 T! o1 q
  427.             var button = sender as Button;
    ) R: [' q' o7 g  f4 o  g

  428. 5 h( U2 }! q6 p0 ~$ c8 \5 a( K
  429.             if (button != null); K4 J+ q, a# I5 i8 [
  430.             {6 F; b1 U: L2 u0 g3 _! e' ]) P

  431. 6 G9 N; R! r( _
  432.             //نۆۋەتتىكى كۇنۇپكىغا باغلانغان DataContext نى، ھەمدە نۆۋەتتە تەھرىرلىگەن EmployeeTable مىسالىنى ئېلىش
    ! }$ k" i% k! r3 j
  433. . A  O% G4 Y+ c, K
  434.                 EmployeeTable employeeForEdit = button.DataContext as EmployeeTable;
    * d" N1 W0 x5 [. d
  435.                 name.Text = employeeForEdit.EmployeeName;6 ^/ z( V9 R  Q* Y: s* e
  436.                 desc.Text = employeeForEdit.EmployeeDesc;5 f2 P3 O* D2 e, W; e9 Z1 L# z* S% a

  437. 6 U( |5 {* r- _' y4 x
  438.             //تەھرىرلىمەكچى بولغان مىسالنى State ئىچىگە ساقلاش- ~% N* k$ t2 T, U8 k% f; ]9 Z4 ]
  439. # m- l( s+ s( ~. _) t$ v
  440.                 State["employee"] = employeeForEdit;
    ( G7 A9 c  E6 E9 P3 o" d
  441.                 employeeCol.EmployeeTables.Remove(employeeForEdit);
    : u) P3 k* K0 q3 y, S/ u2 @( `
  442.             }# T* @6 Q/ y3 @& {9 E/ t5 H
  443.         }
    4 q2 m" p6 G( X; p4 ?
  444.     }
    * A2 Y, c" E  K' ]! R1 j
  445. }
مەزمۇننى كۆچۈرۈۋېلىش
ئىجرا ھالىتى:
' R/ M9 g3 z! u0 H( h9 Z
# G' v" S0 Q4 d- U/ \  
7 X  y0 i; {+ Q" [7 [0 D 8 Y: u+ }# r+ h( T% q1 g
ھازىرغىچە 1 ئادەم باھالىدىجۇغلانما يىغىش سەۋەبى
alip + 40 ئىجادىي ئەسەر

ھەممە باھا نومۇرى : جۇغلانما + 40   باھا خاتىرىسى

Rank: 9Rank: 9Rank: 9

ئاقچا
2
جۇغلانما
51
توردا
2 سائەت
نادىر
0
تېما
1
يوللىغان ۋاقتى 2012-1-14 17:04:33 |ھەممە قەۋەتنى كۆرۈش
كودىنى چاپلىغىلى بولغان بولسا رەتلىك چىقاتتى..

Rank: 9Rank: 9Rank: 9

ئاقچا
2282
جۇغلانما
631
توردا
3276 سائەت
نادىر
41
تېما
214
يوللىغان ۋاقتى 2012-1-14 21:52:53 |ھەممە قەۋەتنى كۆرۈش
(Windows Phone سەھىپىسى تېخى بېكەت سەھىپىسىگە قوشۇلماپتۇ.)% G) p* j% Z; F0 V2 ]

& J8 l5 D. @5 }3 _+ t( Sباچكا ئەپەندىنىڭ ئالپ تور بېتىمىزگە قەدەم تەشرىپ قىلغانلىقىنى قارشى ئالىمىز.
5 t1 E: \4 g, Y5 ^2 ~4 S$ Q/ }  c) U# @+ `8 w. r
Windows Phone نىڭ بۇرۇنقى نەشىرلىرى Windows Mobile بولغاچقا، بىز ئىككىسنى بىرلەشتۈرۈپلا Windows Mobile سەھىپىسىنى تەسىس قىلىپتىمىز، زۆرۈر بولسا Windows Phone ئۈچۈن ئايرىم سەھىپە ئاچساقمۇ بولىدۇ.! K7 ^9 B/ T( m8 g( l% [/ o9 T0 k

9 B7 X1 h2 r. o: J5 e# ~" z: M+ q6 U" V
كودىنى چاپلىغىلى بولغان بولسا رەتلىك چىقاتتى..

1 W7 {" Y) @# B- p5 c8 j4 ^1 S8 ]7 E6 @; Z
تەھرىرلىگۈچتە كود خېتى قىستۇرۇش (<>)  دەپ بىر كۇنۇپكا بار، شۇ يەرنى بېىسپ، كودنى قىستۇرسىڭىز بولىدۇ.
6 B0 v' X. K6 G! M/ [8 x7 \5 ~9 i' Y/ k/ P+ W* Z+ v: b
مېنىڭ ئەقلى ئىقتىدارلىق يانفون ئىشلىتىشىم Windows Mobile دىن باشلانغان. كېيىن ئاندرويد ئۇيغۇرچىنى ياخشى قوللىغاچقا، Windows Mobile قاچىلاقلىق يانفونغا ئاندرويدنى قاچىلاپلا ئىشلىتىپ كەتتۇق. لېكىن Windows Mobile نىڭ توك سەرپىياتى، تور ئېقىم مىقدارى، تېزلىك جەھەتتىن ئاندرويدقا قارىغاندا ئەۋزەللىكى بار. ماۋۇ مانگونى سىناشقا ھېچ پۇرسەت بولمىدى.
ئۇيغۇر تىلى مېنىڭ ۋەتىنىم

Rank: 9Rank: 9Rank: 9

ئاقچا
2
جۇغلانما
51
توردا
2 سائەت
نادىر
0
تېما
1
يوللىغان ۋاقتى 2012-1-15 11:22:02 |ھەممە قەۋەتنى كۆرۈش
قارشى ئالغىنىڭىزغا رەھمەت ئالىپ ئەپەندىم... q& f0 B$ r& P  J; M5 z8 U! T+ d
windows mobile غا ئادەم راست ئامراق بوپ قالىدىكەن، مانگوغا چىشىمنى بىلەپ تۇرۇپتىمەن، قولۇمغا چىقسىلا تەجرىبىلەرنى ئورتاقلاشسام دەپ تۇرۇپتىمەن.5 I$ l( I& j' B

  j3 @* a" \2 C( ~( R6 Aيوقارقى كودنى تۈزەپ قويغىنىڭىزغا رەھمەت، ئەسلى جەمئىي ئۈچ ئايرىم ھۆججەتنىڭ كودى ئىدى، ۋاقىت چىقسا ئايرىپ قويسام بولاتتى.

Rank: 9Rank: 9Rank: 9

ئاقچا
2282
جۇغلانما
631
توردا
3276 سائەت
نادىر
41
تېما
214
يوللىغان ۋاقتى 2012-1-15 11:52:02 |ھەممە قەۋەتنى كۆرۈش
مانگونى تېخى ئالمىدىڭىزما؟ ئۇيغۇرچىنى قوللىشى قانداقراقتۇ؟
! r6 F! E+ T6 c* Iwindows نىڭ يانفونلىرى pc نىڭ پروگراممىلىرىنى بىۋاستە قوللىسا بەك ئېسىل ئىش بولاتتى. Windows 8 نى pc قا ۋە پەدكە قاچىلاشقا بولىدۇ دەيدۇ، Windows 8 قاچىلىندىغان يانفونغا ئۈمىد باغلاپ ئولتۇرمەن.
ئۇيغۇر تىلى مېنىڭ ۋەتىنىم
كىرگەندىن كىيىن ئىنكاس يازالايسىز كىرىش | خەتلىتىش

بايانات
1. ئالپ تورىغا قانۇن-نىزاملارغا خىلاپ؛ مىللى ئەنئەنە، ئەخلاققا يات گەپ-سۆزلەرنى يوللاشقا بولمايدۇ. مىللەتلەر ئىتتپاقلىقى ۋە ئۆز-ئارا ئىتتپاقلىققا تەسىر يەتكۈزدىغان، تېما-ئىنكاسلارنى يوللاش مەنئى قىلىندۇ.
2. ئالاھىدە ئەسكەرتىش بېرىلگەندىن باشقا تېمىلارنى رۇخسەتسىز باشقا تور بەتلەرگە كۆچۈرۈشكە بولمايدۇ. باشقا تور بەتلەرگە كۆچۈرمەكچى بولسىڭىز بىز بىلەن ئالاقىلاشسىڭىز بولىدۇ.
3. ئالپ تورىدا ئېلان قىلىنغان بارلىق ئۇيغۇرچە يانفون ئەپلىرى، يانفون روملىرى ۋە ئۇيغۇرچە كومپىيۇتېر يۇمشاق دېتاللىرى ئالپ تورىغا مەنسۇپ. رۇخسەتسىز باشقا تور بەتلەردە ئېلان قىلىشقا، چۈشۈرۈشكە تەمىنلەشكە بولمايدۇ.
bottom

يانفون|رەسىمسىز|ئۇيغۇر ئۇچۇر تېخنىكا تورى ( 冀ICP备12010643号 )

, Processed in 0.089894 second(s), 24 queries .

Powered by Discuz! X2(NurQut Team) © 2001-2011 Comsenz Inc. GMT+8, 2012-7-24 12:43

چوققىغا قايتىش