Saya memiliki database SQL Server 2008 dan saya sedang mengerjakannya di backend. Saya sedang bekerja di asp.net/C#
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
//how do I read strings here????
}
Saya tahu bahwa pembaca memiliki nilai. Perintah SQL saya adalah memilih hanya 1 kolom dari sebuah tabel. Kolom HANYA berisi string. Saya ingin membaca string (baris) di pembaca satu per satu. Bagaimana saya melakukan ini?
Masukkan nama kolom mulai dikembalikan dari database di mana
"ColumnName"
. Jika itu adalah string, Anda dapat menggunakan.ToString()
. Jika ini tipe lain, Anda perlu mengonversinya menggunakanSystem.Convert
.sumber
itu akan bekerja
sumber
toString()
tidak valid harus.ToString()
hanya fyiUntuk satu hasil:
Untuk beberapa hasil:
sumber
Berpikir untuk membagikan metode penolong saya bagi mereka yang dapat menggunakannya:
Pemakaian:
Metode helper dilemparkan ke nilai apa pun yang Anda suka, jika tidak bisa dilemparkan atau nilai database NULL, hasilnya akan menjadi nol.
sumber
reader.GetColumn<int>("M_ID");
Sebenarnya, saya tahu sendiri bahwa saya bisa melakukan ini:
sumber
Trim()
tidak disebutkan dalam pertanyaan dan begitu juga di sini tetapi tidak dalam jawaban lainnya.Saya tahu ini agak lama tetapi jika Anda membaca isi SqlDataReader ke dalam kelas, maka ini akan sangat berguna. nama kolom pembaca dan kelas harus sama
sumber
Saya berpendapat melawan menggunakan
SqlDataReader
di sini; ADO.NET memiliki banyak kasus tepi dan komplikasi, dan menurut pengalaman saya, kode ADO.NET yang ditulis secara manual dipecah dalam setidaknya satu cara (biasanya halus dan kontekstual).Ada alat untuk menghindari ini. Misalnya, dalam kasus di sini Anda ingin membaca kolom string. Dapper membuatnya sangat menyakitkan:
Dapper di sini berurusan dengan semua parameterisasi, eksekusi, dan pemrosesan baris - dan banyak detail kotor lainnya dari ADO.NET. The
<string>
bisa diganti dengan<SomeType>
terwujud seluruh baris ke objek.sumber
Dalam istilah yang paling sederhana, jika kueri Anda mengembalikan nama_kolom dan menyimpan sebuah string:
sumber
Saya memiliki fungsi pembantu seperti:
maka saya menggunakannya untuk mengekstrak string:
sumber
Saya biasanya membaca data oleh pembaca data dengan cara ini. baru saja menambahkan contoh kecil.
sumber
Anda harus ke
read
database column
sini. Anda dapat melihat potongan kode berikutsumber