SqlConnection,command基本用法,output,輸出

下著小雨滴滴滴發表於2018-08-01

 using System.Data;//引用資料庫就能用到這句話
using System.Data.SqlClient;     //連線資料庫

 

string cId = textcId.Text.Trim();//從文字框提取文字
            string cName = textcName.Text.Trim();
            string cTeam = textcTeam.Text.Trim();
            string cSlogan = textcSlogan.Text.Trim();
            string connectionString = "server=.;database=StudentMIS;integrated security = true; ";//連線資料庫的字元傳
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();//執行連線
                string sql = "insert into ClassMis values('{0}','{1}','{2}','{3}')";
                sql = string.Format(sql, cId, cName, cTeam, cSlogan);//填充字串
                using (SqlCommand cmd = new SqlCommand(sql, connection))
                {
                    int couny = cmd.ExecuteNonQuery();//對連線執行sql語句,並返回受影響的行數
                    MessageBox.Show(couny.ToString());
                }
            }

 

using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();
                string sql = "select cName from ClassMis where cId = 1";
                using (SqlCommand cmd = new SqlCommand(sql, connection))
                {
                    
                    Console.WriteLine(cmd.ExecuteScalar().ToString());//返回select的單個資料,第一行的第一個。
                }
                
            }

string connectionString = "server = .;database = StudentMIS;integrated security = true;";
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();
                string sql = "select * from ClassMis";
                using (SqlCommand cmd = new SqlCommand(sql, connection))
                {

                    SqlDataReader reader = cmd.ExecuteReader();
                    if (reader.HasRows)//判斷資料是否為空
                    {
                        while (reader.Read())//判斷是否讀到資料
                        {
                            //
                            //1.效率最低,得先轉換為[0][1][2],但很直白
                            //Console.Write(reader["cId"].ToString()+"\t");
                            //Console.Write(reader["cName"].ToString()+"\t");
                            //Console.Write(reader["cTeam"].ToString() + "\t");

                            //2.效率較高,順序可調,但變化的順序仍然是依照著資料庫
                            //Console.Write(reader[0].ToString() + "\t");
                            //Console.Write(reader[1].ToString() + "\t");
                            //Console.Write(reader[2].ToString() + "\t");

                            //3.可以直接轉換為自己想要的資料型別
                            //Console.Write(reader.GetInt32(0).ToString() + "\t");
                            //Console.Write(reader.GetString(1).ToString() + "\t");
                            //Console.Write(reader.GetValue(2).ToString() + "\t");

                            //4.在不知道資料列表情況下
                            //for (int i = 0; i < reader.FieldCount; i++)
                            //{
                            //    Console.Write(reader[i].ToString() + "\t");
                            //}
                            //5.便利多個結果集
                            do
                            {

                            } while (reader.NextResult());
                                Console.WriteLine();
                            
                        }
                    }
                }

//connection.Close();//關閉連線,並解除佔用。內部呼叫的Dispose。
//connection.Dispose();//解除佔用資料,釋放資源 

1. cmd.ExecuteNonQuery();//對連線執行sql語句,並返回受影響的行數,可以進行update,delete

2.cmd.ExecuteScalar()://返回select的單個資料,第一行的第一個。

3.cmd.ExecuteReader();//返回的是一個sqlDataReader型別的資料,能輸出表型資料

reader.HasRows)//判斷資料是否為空

reader.Read())//判斷是否讀到資料

 

 插入一個資料,並輸出他的學號

相關文章