using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace _01SqlConnectionDemo
{
classProgram
{
staticvoidMain(string[] args){
#region 01第一个链接对象//连接字符串:就是对我们的连接进行设的字符串。//server:表示连接的服务,可以用 . 机器名 ip地址等表示//uid:sqlserver用户名 pwd:密码//database表示要连接的数据库。//string connStr = "server=127.0.0.1;uid=sa;pwd=123456;database=demo";//SqlConnection conn =new SqlConnection(connStr);////这才是真正的打开数据库//conn.Open();//如果链接成功了,那么不会抛出异常。//Console.WriteLine("打开数据库");////Thread.Sleep(1000);//conn.Close();//conn.Dispose();//Console.WriteLine("数据库关闭了");#endregion#region 02 SqlCommand对象//连接上数据库,然后往 数据库中添加一条数据库。//string strConn = "server=(local);database=demo;uid=sa;pwd=123456";//string strConn = "Data Source=127.0.0.1;Initial Catalog=demo;User ID=sa;Password=123456";
string strConn = "Data Source=127.0.0.1;Initial Catalog=Hotel;Integrated Security=True;";
//根据链接字符串创建了一个链接对象#region trycatch写法//SqlConnection conn = new SqlConnection(strConn);//try//{// //创建一个Sql命令对象// SqlCommand cmd = new SqlCommand();// //给命令对象指定 连接对象。// cmd.Connection = conn;// conn.Open();//一定要在执行命令之前打开就可以了。// //此属性放我们的sql脚本// cmd.CommandText = "insert into DboUserInfo(Name,DelFlag,Demo,cons)values('ss5559999',0,'sss',0)";// cmd.ExecuteNonQuery();//执行一个非查询sql语句,返回受影响的行数。//}//finally//{// conn.Close();//*****不要忘记关闭数据库连接。//}#endregionusing ( SqlConnection conn = newSqlConnection(strConn))
{
//创建一个Sql命令对象using (SqlCommand cmd = newSqlCommand())
{
//给命令对象指定 连接对象。
cmd.Connection = conn;
conn.Open(); //一定要在执行命令之前打开就可以了。//此属性放我们的sql脚本
cmd.CommandText = "insert into DboUserInfo(Name,DelFlag,Demo,cons)values('4444448888',0,'sss',0)";
cmd.ExecuteNonQuery(); //执行一个非查询sql语句,返回受影响的行数。//cmd.CommandText = "sel";//cmd.ExecuteNonQuery()。。。。
}
}
#endregion
Console.ReadKey();
}
//public int Id { get; set; }
}
}
02ConnectionPoolDemoTest
点击查看代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Data.SqlClient;
usingSystem.Diagnostics;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
namespace _02ConnectionPoolDemoTest
{
classProgram
{
static void Main(string[] args)
{
string connStrPool = "DataSource=.;InitialCatalog=test01;UserID=sa;Password=123;MinPoolSize=4";
string connStr = "DataSource=.;InitialCatalog=test01;UserID=sa;Password=123;Pooling=false";
int i = 0;
Stopwatch sw =new Stopwatch();
sw.Start();
while (i<1000)
{
using (SqlConnectionconn = newSqlConnection(connStrPool))
{
conn.Open();
}
i++;
}
sw.Stop();
Console.WriteLine(sw.Elapsed.Milliseconds);
sw.Reset();
sw.Restart();
i = 0;
while (i < 1000)
{
using (SqlConnectionconn = newSqlConnection(connStr))
{
conn.Open();
}
i++;
}
sw.Stop();
Console.WriteLine(sw.Elapsed.Milliseconds);
Console.ReadKey();
}
}
}
03SqlConnectionStringBuilderDemo
点击查看代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace _03SqlConnectionStringBuilderDemo
{
public partial classMainFrm : Form
{
public MainFrm()
{
InitializeComponent();
SqlConnectionStringBuilder scsb =new SqlConnectionStringBuilder();
scsb.UserID = "sa";
scsb.DataSource = ".";
this.propGrid4ConString.SelectedObject = scsb;
}
private void btnGetString_Click(object sender, EventArgs e)
{
string str = this.propGrid4ConString.SelectedObject.ToString();
Clipboard.Clear();
Clipboard.SetText(str);
MessageBox.Show(str);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace _06DataImport
{
staticclassProgram
{
/// <summary>/// 应用程序的主入口点。/// </summary>
[STAThread]
staticvoidMain(){
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(newMainFrm());
}
}
}
07SqlDataReader
点击查看代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace _07SqlDataReader
{
public partial classMainFrm : Form
{
public MainFrm()
{
InitializeComponent();
//
}
private void MainFrm_Load(object sender, EventArgs e)
{
List<StudentInfo> stuList =new List<StudentInfo>();
//加载数据库中数据
string conStr = "server=.;uid=sa;pwd=123456;database=itcastdb";
using (SqlConnection con = new SqlConnection(conStr))
{
using (SqlCommand cmd =con.CreateCommand())
{
con.Open();
cmd.CommandText = "select stuName,stuId, stuSex, stuBirthdate, stuPhone from [tblStudent] ";
//reader 指向了 sql命令执行后的查询结果。
using (SqlDataReader reader = cmd.ExecuteReader())
{
//reader每执行一次read操作,就会让指针往下一条数据走
while (reader.Read())
{
#region 参考
// //reader 取数据
//int stuId= reader.GetInt32(1);
////string stuName = reader.GetString(0);
////建议用下面
//string stuName2 = reader["stuName"].ToString();
//Console.WriteLine(
// string.Format("{0}-{1}-{2}-{3}", reader["stuName"].ToString(),reader["stuId"].ToString(),reader["stuBirthdate"].ToString(),reader["stuPhone"].ToString())
// );
#endregion
StudentInfo stu =new StudentInfo();
stu.StuId = int.Parse(reader["stuId"].ToString());
stu.StuName = reader["stuName"] == DBNull.Value ? string.Empty : reader["stuName"].ToString();
stu.StuPhone = reader["stuPhone"].ToString();
stu.StuSex = reader["stuSex"].ToString()[0];
stu.DateTime = DateTime.Parse(reader["stuBirthdate"]==DBNull.Value?SqlDateTime.MinValue.ToString(): reader["stuBirthdate"].ToString());
stuList.Add(stu);
}//endwhile
}// endusing reader
}//end usering cmd
}//endusing connn
this.dgvStudent.DataSource = stuList;
//this.dgvStudent.data
//把数据放到窗体的表格
}
}
}
点击查看代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace_07SqlDataReader
{
publicclass StudentInfo
{
public string StuName { get; set; }
public int StuId { get; set; }
public DateTime DateTime { get; set; }
public Char StuSex { get; set; }
public string StuPhone { get; set; }
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类