淺談ADO.NET數(shù)據(jù)庫腳本
這次我使用ADO.NET來插入一條數(shù)據(jù),到數(shù)據(jù)庫中。主用到存儲過程。我不想每次都是用SQL文本的形式了,那樣始終沒有進步~~~
下面首先,我把我這次練習要用到的數(shù)據(jù)庫腳本,貼出來:
USE master --使用系統(tǒng)數(shù)據(jù)庫 GO IF EXISTS(SELECT * FROM sysdatabases WHERE name=N'DB_MyStudentLife') DROP DATABASE [DB_MyStudentLife]; --如果要創(chuàng)建的數(shù)據(jù)庫存在的話,就刪除 GO CREATE DATABASE [DB_MyStudentLife] --創(chuàng)建數(shù)據(jù)庫 GO USE [DB_MyStudentLife] --使用數(shù)據(jù)庫 GO IF EXISTS(SELECT * FROM sysobjects WHERE name=N'MyClass') DROP TABLE [MyClass] --如果要創(chuàng)建的數(shù)據(jù)表存在的話,就刪除(注意sysobjects,一定要全部是小寫的,不然有錯誤,不能寫成大寫的。) GO CREATE TABLE MyClass --創(chuàng)建數(shù)據(jù)表 ( C_ID INT NOT NULL PRIMARY KEY, --班級編號 C_Name NVARCHAR(200) not null, --班級名稱 C_Descr nvarchar(max) not null --班級簡介 ); GO IF EXISTS(SELECT * FROM sysobjects WHERE name=N'MyStudent') DROP TABLE MyStudent GO CREATE TABLE MyStudent ( S_ID int not null primary key, --學號 S_Name nvarchar(50) not null, --姓名 S_Gender char(2) not null, --性別 S_Address nvarchar(max) not null , --地址 S_Phone nvarchar(50)not null, --電話 S_Age int not null, --年齡 S_Birthday datetime not null, --生日 S_CardID int not null, --身份證號碼 S_CID int not null references MyClass(C_ID) --班級編號 );
接著大家選中剛才執(zhí)行腳本,創(chuàng)建好的數(shù)據(jù)庫,然后使用我下面的數(shù)據(jù),向數(shù)據(jù)庫表里面添加數(shù)據(jù)吧
insert into MyClass(C_ID,C_Name,C_Descr)values(1,'軟件1108班','武漢軟件工程職業(yè)學院'); insert into MyClass(C_ID,C_Name,C_Descr)values(2,'軟件1107班','武漢軟件工程職業(yè)學院'); insert into MyClass(C_ID,C_Name,C_Descr)values(3,'實驗班','武漢軟件工程職業(yè)學院'); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('1','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('2','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('3','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('4','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('5','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('6','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('7','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('8','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('9','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('10','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('11','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('12','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('13','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('14','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('15','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('16','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1); insert into MyStudent(S_ID,S_Name,S_Gender,S_Age,S_Birthday,S_CardID,S_Phone,S_Address,S_CID)values('17','李四','男','22','1992-09-26','111111111','11232131234',N'深圳寶安石巖',1);
說明一下,等會我要向MyClass表中插入數(shù)據(jù),現(xiàn)在為這個表創(chuàng)建一個插入的存儲過程:
IF OBJECT_ID('Ins_ClasseD','P') IS NOT NULL DROP PROCEDURE Ins_ClasseD GO CREATE PROCEDURE Ins_ClasseD @C_ID int , @C_Name nvarchar(200) , @C_Descr nvarchar(max) AS INSERT INTO dbo.MyClass ( C_ID, C_Name, C_Descr ) VALUES ( @C_ID, -- C_ID - int @C_Name, -- C_Name - nvarchar(200) @C_Descr -- C_Descr - nvarchar(max) ); GO
下面開始程序實現(xiàn):
我是復習,ADO.NET,現(xiàn)在就隨便建了一個控制臺的應用程序,來開始我的測試:
注意;在下面的例子中,為了盡可能簡單易于理解,我沒有把連接字符串的那部分代碼,放到配置文件中。
如果要放的話,要用到System.Configuration命名空間,還有一個ConfigurationManager類..具體的細節(jié)就不說了。
請看具體實現(xiàn)代碼:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using System.Data.SqlClient; namespace ADO.NET插入一條數(shù)據(jù)到數(shù)據(jù)庫中 { class Program { //連接字符串 private static string sqlCon = "server=.;database=DB_MyStudentLife;uid=sa;pwd=Password_1"; static void Main(string[] args) { //1創(chuàng)建連接對象(連接字符串) SqlConnection scon = new SqlConnection(sqlCon); //2創(chuàng)建命令對象(為命令對象設置屬性) SqlCommand scmd = new SqlCommand(); scmd.CommandText = "Ins_ClasseD"; scmd.CommandType = CommandType.StoredProcedure; //這里我使用存儲過程來插入數(shù)據(jù) scmd.Connection = scon; //3打開數(shù)據(jù)庫連接 scon.Open(); //設置參數(shù) scmd.Parameters.Add(new SqlParameter("@C_ID",6)); scmd.Parameters.Add(new SqlParameter("@C_Name", "測試班")); scmd.Parameters.Add(new SqlParameter("@C_Descr", "軟件測試技術")); //4發(fā)送命令 int result= scmd.ExecuteNonQuery(); //5處理數(shù)據(jù) if (result > 0) { Console.WriteLine("插入數(shù)據(jù)成功"); } else { Console.WriteLine("插入數(shù)據(jù)失敗"); } //6最后一步,差點忘記了,一定要關閉連接 scon.Close(); Console.ReadKey(); } } }
程序執(zhí)行玩之后的效果圖:
以上所述就是本文的全部內容了,希望大家能夠喜歡。
相關文章
Visual Studio 2017中找回消失的“在瀏覽器中查看”命令
這篇文章主要為大家詳細介紹了如何在Visual Studio 2017中找回消失的“在瀏覽器中查看”命令,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03ASP.NET Core實現(xiàn)AES-GCM加密算法
這篇文章介紹了ASP.NET Core實現(xiàn)AES-GCM加密的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07Asp.net中使用Sqlite數(shù)據(jù)庫的方法
Sqlite是最近比較流行的數(shù)據(jù)庫了,擁有比Access高效快速,易操作易實施。完全不需要在客戶端進行任何的配置,只需要在站點中引用入DLL文件即可使用了。2009-11-11Entity?Framework實現(xiàn)數(shù)據(jù)遷移
本文詳細講解了Entity?Framework實現(xiàn)數(shù)據(jù)遷移的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03MultiLine 換行后實現(xiàn)讀取不換行的具體思路
輸入內容中有換行,保存到數(shù)據(jù)庫,直接查看感覺沒有換行,但查詢結果“以文本格式顯示結果”你就會發(fā)現(xiàn) 其實是有換行的,下面與大家分享下具體的解決方法2013-06-06ASP.NET Core 2.0中Razor頁面禁用防偽令牌驗證
在這篇短文中,我將向您介紹如何ASP.NET Core2.0 Razor頁面中禁用防偽令牌驗證,對此有興趣的朋友參考學習下吧。2018-01-01