2016-10-21 5 views

答えて

0

の変更だけで、あなたのクエリを変更DataTableの

string text = dt.Rows[dt.Rows.Count-1][1].ToString(); 
+0

はい右!しかし、イメージにはすべての行に対して同じ値が含まれています。これは結果フォームの第5列ではないとはどういうことが言えますか? –

1

の最後の行を参照するためのコードで第二のカラムを取得するには旧姓デバッグするとき、私は見ることができ、これは2列5行を持っています〜

"select top 1 id,name from demo where id='" + id + "' order by id desc; 

途中でIDのsqlParameterを作成する必要があります。

正直言って私はこのためにデータテーブルを使用することについてのポイントも見ていません。

あなたはこのような何かにあなたのコードを変更する必要があります。

using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["ReferenceToYourConnectionString"].ToString())) 
    { 
     cn.Open(); 
     SqlCommand cmd = new SqlCommand(); 
     cmd.Connection = cn; 
     cmd.CommandType = CommandType.Text; 
     cmd.Parameters.Add("@Id", SqlDbType.Int).Value = int.Parse(ViewState["id"].ToString()); //Whatever your id columntype is 
     cmd.CommandText = "SELECT TOP 1 id,name FROM demo WHERE id = @id ORDER BY id, name DESC"; 
     SqlDataReader dr = cmd.ExecuteReader(); 
     while (dr.Read()) 
     { 
      CKEditor1.Text = dr["name"].ToString() 
     } 
    } 
+0

最初の列?または列インデックス= 1?あなたが「最初のコラム」と言うなら、あなたはあなたが望むものがワークIDになるのですか? – Innat3

+0

@abcちょうど私のコード – Innat3

+0

thatsなぜ私はあなたのデータベースフィールドに一致するものにそのフィールドを変更する必要があることを述べるコメントを追加したことを試してみてください。したがって、** SqlDbType.Int **に設定してください。そして、ビューステートをIntにキャストすることもできます。 – Innat3

関連する問題