Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 20385|Απάντηση: 0

[Πηγή] Μεταφράστε όλα τα ονόματα πεδίων του DataTable στα Κινεζικά και επιστρέψτε

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 29/10/2015 1:50:20 μ.μ. | | | |
Αρχικά δεδομένα:

Μεταφρασμένα δεδομένα:



Γενικά, είναι εύκολο να ρωτήσετε και να εμφανίσετε έναν πίνακα δεδομένων στον κώδικα, εφόσον ο πίνακας δεδομένων που ζητήθηκε χρησιμοποιείται ως πηγή δεδομένων ενός συγκεκριμένου στοιχείου ελέγχου, είναι εντάξει, αλλά τα πεδία αυτού του πίνακα δεδομένων είναι όλα αγγλικά πεδία, πώς να τα αλλάξετε όλα σε κινέζικα;



Τώρα γνωρίζω τα κινεζικά ονόματα κάθε αγγλικού πεδίου και όλες οι μεταφραστικές πληροφορίες των πεδίων αποθηκεύονται σε έναν πίνακα, που ονομάζεται COLUMNTRANSLATION, και η πρόταση SQL για τη δημιουργία αυτού του πίνακα είναι:

δημιουργία πίνακα ΣΤΗΛΗ μετάφραση

(
    ΑΡΙΘΜΌΣ ΤΑΥΤΌΤΗΤΑΣ(10) ΠΡΩΤΕΎΟΝ ΚΛΕΙΔΊ,
    COLUMNNAME VARCHAR2(50), //όνομα πεδίου
    ΜΕΤΑΦΡΑΣΗ VARCHAR2(50) // πεδίο που αντιστοιχεί στην κινεζική ονομασία
)



Βάλτε πρώτα μερικά δεδομένα σε αυτό, έτσι ώστε να υπάρχουν πολλές εγγραφές σε αυτόν τον πίνακα, για παράδειγμα: Το StudentName αντιστοιχεί στο "όνομα μαθητή".



Τώρα που έχω έναν πίνακα δεδομένων με όλα τα ονόματα πεδίων του στα αγγλικά, μπορώ να τον μεταφράσω και να επιστρέψω τον μεταφρασμένο πίνακα δεδομένων εκτελώντας απλώς τον ακόλουθο κώδικα:

  1. /// <summary>
  2.         /// 将DataTable的字段名全部翻译为中文
  3.         /// </summary>
  4.         /// <param name="table">待翻译的DataTable</param>
  5.         /// <returns></returns>
  6.         public DataTable TranslateDataTable(DataTable table)
  7.         {
  8.             DataTable dt = new DataTable();
  9.             dt.TableName = "TempTable";

  10.             if (table != null && table.Rows.Count > 0)
  11.             {
  12.                 //先为dt构造列信息
  13.                 foreach (DataColumn column in table.Columns)
  14.                 {
  15.                     string name = GetColumnName(column.ColumnName);
  16.                     dt.Columns.Add(name);
  17.                 }

  18.                 for (int i = 0; i < table.Rows.Count; i++)
  19.                 {
  20.                     DataRow NewRow = dt.NewRow();
  21.                     DataRow row = table.Rows[i];

  22.                     for (int j = 0; j < dt.Columns.Count; j++)
  23.                     {
  24.                         NewRow[j] = row[j].ToString();
  25.                     }

  26.                     dt.Rows.Add(NewRow);
  27.                 }
  28.             }
  29.             return dt;
  30.         }

  31.         /// <summary>
  32.         /// 得到列名称的别名
  33.         /// </summary>
  34.         /// <param name="columnName"></param>
  35.         /// <returns></returns>
  36.         private string GetColumnName(string columnName)
  37.         {
  38.             string sqlString = " Select TRANSLATION from COLUMNTRANSLATION where COLUMNNAME = '" + columnName.ToUpper() + "'";

  39.             object s = dao.ExecuteScalar(sqlString);
  40.             string name = (s == null) ? columnName : s.ToString(); //如果此英文字段有翻译,则返回其中文翻译,若无,则保留此英文翻译。
  41.             return name;
  42.         }
Αντιγραφή κώδικα
Η ιδέα αυτής της μεθόδου είναι η κατασκευή ενός νέου Πίνακα Δεδομένων σύμφωνα με τον Πίνακα Δεδομένων που πρόκειται να μεταφραστεί: το όνομα στήλης κάθε στήλης του νέου Πίνακα Δεδομένων είναι το μεταφρασμένο κινεζικό όνομα (εάν το όνομα της αγγλικής στήλης δεν μεταφραστεί, το όνομα της αγγλικής στήλης διατηρείται, εάν μπορεί να μεταφραστεί, μεταφράζεται) και μετά την κατασκευή των πληροφοριών πεδίου του νέου Πίνακα Δεδομένων, οι εγγραφές του παλιού Πίνακα Δεδομένων εισάγονται στον νέο Πίνακα Δεδομένων μία προς μία.



Χεχε, είναι μια σειρά... Αλλά η ταχύτητα είναι ακόμα δυνατή.







Προηγούμενος:Οι πίνακες πλέγματος δεδομένων EasyUI δεσμεύουν δυναμικά στήλες πεδίων
Επόμενος:Απενεργοποίηση της δυνατότητας σύνδεσης προγράμματος περιήγησης στο Visual Studio 2013
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com