• sql05


    1、Ado.net

    Ado.net是一组由微软提供的使用C#操作数据库的类库

    2、连接

    首先引入:

    using System.Data.SqlClient;

    需要使用连接字符串进行连接

    using System;
    using System.Data.SqlClient;
    using System.Text;
    
    namespace Demo
    {
    
        class Program
        {
    
            static void Main()
            {
                // 连接字符串
                string connStr = "server=127.0.0.1;uid=sa;pwd=123456;database=Demo";
                SqlConnection conn = new SqlConnection(connStr);
    
                // 连接数据库
                conn.Open();
                Console.WriteLine("连接完成");
    
                // 关闭连接
                conn.Close();
                conn.Dispose();
                Console.WriteLine("数据库关闭");
                Console.ReadLine();
            }
    
    
        }
    
    }

    上面所示的是最简单的连接字符串,包括服务地址,账号及密码,数据库名称

    使用#region可以划分代码块

    3、执行语句

    using System;
    using System.Data.SqlClient;
    using System.Text;
    
    namespace Demo
    {
    
        class Program
        {
    
            static void Main()
            {
                // 连接字符串
                string connStr = "server=127.0.0.1;uid=sa;pwd=123456;database=Demo";
                SqlConnection conn = new SqlConnection(connStr);
    
                conn.Open();
                Console.WriteLine("连接完成");
    
                // 创建sql命令对象
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                // 书写SQL脚本
                cmd.CommandText = "insert into [dbo].[user](name,age,ClassId) values(N'徐若瑄',66,103)";
                // 非查询语句执行,返回受影响的行数
                cmd.ExecuteNonQuery();
                Console.WriteLine("语句执行完成");

           conn.Close();
    Console.ReadLine(); } } }

    自动释放连接的语法糖

    3、连接池

    在连接字符串中有一个属性叫pooling,默认为true,意为启用连接池

    进程池是一个对象池,当我们第一次连接数据库时直接向数据库

    请求连接,同时在连接池内生成一个innerConnection对象,当我们通过close释放

    连接后,池内的对象不会释放,直接从连接池内取出来,节省我们需要频繁使用数据库的开销。

    当连接池内的对象有空闲的,直接使用空闲的;当没有空闲的内连接对象时,未达到连接池上限时,直接向数据库创立一个,

    达到上限时需要等待

    4、制作一个连接字符串创建器

     5、制作一个登陆窗体

    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 UserLogin
    {
        public partial class UserLoginFrm : Form
        {
            public UserLoginFrm()
            {
                InitializeComponent();
            }
    
    
            private void UserLoginFrm_Load(object sender, EventArgs e)
            {
    
            }
    
            private void LoginBtn_Click(object sender, EventArgs e)
            {
                //取走窗体数据进行校验
                if (string.IsNullOrEmpty(UsernameBox.Text.Trim())|| 
                    string.IsNullOrEmpty(PwdBox.Text.Trim()))
                {
                    MessageBox.Show("用户名或密码不可为空");
                    return;
                }
    
    
                //连接数据库进行查询
                string connStr = "server=127.0.0.1;uid=sa;pwd=123456;database=Demo";
                using (SqlConnection conn=new SqlConnection(connStr))
                {
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        conn.Open();
    
                        string sql = string.Format("select count(1) from LoginUser where Username='{0}' and Password='{1}'", 
                            UsernameBox.Text, PwdBox.Text);
                        cmd.CommandText = sql;
                        // 执行查询语句,并只返回查询出来的第一个单元格的值,返回的数据格式也不清楚
                        object result = cmd.ExecuteScalar();
                        int rows = int.Parse(result.ToString());
                        if (rows >= 1)
                        {
                            MessageBox.Show("成功登录!");
                        }
                        else
                        {
                            MessageBox.Show("登录失败!");
                        }
                    }
                }
            }
        }
    }

    6、配置文件配置连接字符串

     在App.config中进行配置:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <connectionStrings>
        <add name="sql" connectionString="server=127.0.0.1;uid=sa;pwd=123456;database=Demo"/>
      </connectionStrings>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
        </startup>
    </configuration>

    在专门的一个类中进行引入:

    using System.Configuration;
    
    namespace UserLogin
    {
        class ConnectionStringHelper
        {
            public static string GetCurrentConnectionString()
            {
                return ConfigurationManager.ConnectionStrings["sql"].ConnectionString;
            }
        }
    }

    在引用中引入:System.Configuration

    之后使用上述类的静态方法即可

    ------------恢复内容结束------------

  • 相关阅读:
    IDL打包发布exe(包含ENVI环境)
    电磁辐射基本概念
    ENVI_REGISTER_DOIT( )函数
    serverlet Web.xml配置代码解释
    Java设置session超时(失效)的时间
    JSP处理XML
    初学JSP
    顶部固顶导航菜单代码css+js
    oracle 关于删除指令的(我每天拼了命的努力,就是为了向那些看不起我的人证明,你们是对的)
    oracle题
  • 原文地址:https://www.cnblogs.com/Tanqurey/p/12410150.html
Copyright © 2020-2023  润新知