2016-12-02 5 views
-2

Ich habe ein Bild wie folgt.Ich möchte eine Spalte in eine Zeichenfolge konvertieren

Image Example

Ich mag jede Zeile dieser Spalte als Element der Array speichern.

Ich schrieb Aussagen eine Datatable in C#.

con.Open(); 
string sql = "SELECT MA_BO_CAU_HOI FROM R_NGUOICHOI_BOCAUHOI where MA_NGUOI_CHOI="+ cbbten.SelectedIndex +""; 
SqlDataAdapter adapter = new SqlDataAdapter(sql, con); 
DataTable data = new DataTable(); 
adapter.Fill(data);    
int[] number = (int[]) data.Columns[0];  
con.Close(); 

aber es funktioniert nicht. Wie kann ich es tun Danke für Ihre Hilfe !!

+1

Ich bin einfach nicht in der Lage, die Korrelation zwischen Ihrem Thema und Ihrem Code zu sehen. Sie haben gesagt, dass Sie in eine Zeichenfolge konvertieren möchten, aber Sie haben für ein Integer-Array codiert. –

+0

In einer anderen Weise müssen Sie meinen Code nicht sehen. Ich möchte nur fragen. Wie kann ich jede Zeile dieser Spalte (im Bild) in ein Array speichern? –

+0

Wir brauchen Ihren Code, wenn Sie Hilfe benötigen, und das Thema und der Code sehen sehr unterschiedlich aus. flagged zu schließen, da es unklar ist, was Sie fragen –

Antwort

2

Schleife verwenden.

List<int> list = new List<int>(); 

foreach(DataRow row in data.Rows) 
{ 
    list.Add(int.Parse(row["ColumnName"]); 
} 

int[] number = list.ToArray(); 

Auch wenn Sie Kenntnis von LINQ, können Sie es auf einem Durchgang tun:

int[] number = tbl.AsEnumerable().Select(x => int.Parse(x["YourColumnName"].ToString())).ToArray(); 

EDIT: Nach dem Kommentar über die Daten

Verwenden CommandParameters, um Daten aus der DB zu holen. Es schützt Sie vor SQL-Injektion. Versuchen Sie auch, Ihre Verbindung (ich sehe nicht, wo definiert ist) in Block zu verwenden.

using(SqlConnection con = new SqlConnection("your conn")) 
{ 
    con.Open(); 
    string sql = "SELECT MA_BO_CAU_HOI FROM R_NGUOICHOI_BOCAUHOI where [email protected]"; 

    DataTable data = new DataTable(); 
    using(SqlDataAdapter adapter = new SqlDataAdapter()) 
    { 
     SqlCommand cmd = new SqlCommand(sql, con); 
     cmd.Parameters.AddWithValue("@Param1", cbbten.SelectedIndex); 
     adapter.SelectCommand = cmd; 

     adapter.Fill(data);   
    } 
} 
+0

obwohl Ihre Antwort wird für den Benutzer arbeiten, ich denke, sie haben Schwierigkeiten, tatsächlich die Daten zu bekommen, ive upvoted Ihre Antwort anway, wie es technisch korrekt ist basierend auf Thema –

+0

@SimonPrice ich behoben sein Code zum Abrufen der Daten auch. – mybirthname

+1

Ich mag die Berührung von LINQ, ich denke, wenn ich heute glücklicher wäre, hätte ich wahrscheinlich geholfen, wie du :) –

Verwandte Themen