SqlDataReaer語法范例
//1打開資料庫連接
SqlConnection conn = new SqlConnection(connstring);
conn.open();
string selectCmd = "select * from Tablename";
//2通過connecton連接物件來送出sql敘述
SqlCommand cmd = new sqlcommand(selectCmd,conn);
//3由datareader讀取sql敘述的執行結果集
sqldatareader dr = cmd.executereader();
//4讀出記錄
while(dr.read())
{
msgstr = msgstr + dr["ColumnName"] + "/r/n";
}
//5關閉連接
conn.close();
dr.close();
sqldatareader 常用屬性
filedcount 取得資料欄位數目
HasRows 是否包含一個以上的資料列
dr["columnName"]值
sqldatareader 常用方法
close()
dispose()
getname() 取得指定欄位名稱
getvalue() 取得指定欄位內容值
isDBNull() 判斷指定欄位是否為空值
read() 當讀取一個資料列時,會將sqldatareader移至下一個資料錄。
//code ex:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient; //新增命名空間
namespace SqlDataReader_ex
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
string ConnString;
ConnString = "Data Source =127.0.01;Initial catalog = authority;" +
"User id = sa;Password = 123";
//Step 1:開啟資料庫連接,準備與資料庫進行溝通和存取
SqlConnection conn = new SqlConnection(ConnString);
conn.Open();
string selectCmd = "SELECT * FROM Login";
//Step 2:透過Connection連接物件來送出SQL敘述
SqlCommand cmd = new SqlCommand(selectCmd, conn);
//Step 3:由DataReader讀取SQL敘述的執行結果集
SqlDataReader dr = cmd.ExecuteReader();
//Step 4:資料錄逐筆讀取
while (dr.Read())
{
lstBox_Users.Items.Add(dr["UserId"].ToString() + "密碼為" + dr["Password"].ToString());
}
//Step 5:關閉連接物件與資料讀取器
conn.Close();
dr.Close();
}
catch (Exception ex)
{
MessageBox.Show(this,ex.Message,"例外資訊");
}
s
}
}
}
//----用sqlconnectionstringbuilder建立連接------------------------
string ConnString;
SqlConnectionStringBuilder Builder = new SqlConnectionStringBuilder();
Builder.DataSource = "127.0.0.1";
Builder.InitialCatalog = "ecram";
Builder.UserID = "sa";
Builder.Password = "123";
ConnString = Builder.ConnectionString;
SqlConnection Conn = new SqlConnection(ConnString);
Conn.Open();