zoukankan      html  css  js  c++  java
  • C#中连接.mdf文件

    C#连接本地.mdf文件:项目中右键点击,新增——数据——基于服务的数据库,项目下直接生成.mdf数据库文件,后台(数据库的写入用参数传递):

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.SqlClient;
    
    namespace ADO.NET
    {
        class Program
        {
            static void Main(string[] args)
            {
                //SQLServer 附加mdf文件
                string dataDir = AppDomain.CurrentDomain.BaseDirectory;
                if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))
                {
                    dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
                    AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
                }
                using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"))
                {
                    conn.Open();
                    //写入一条数据
                    string strUserName = "作业本";
                    string strPWD = "Ab123456";
    
                    using (SqlCommand sqlCmd = conn.CreateCommand())
                    {
                        sqlCmd.CommandText = "insert into Mytable1(Name,Password) values (@UserName,@PWD) ";//连接字符串进行参数化
                        SqlParameter[] sqlPara = new SqlParameter[] { 
                        new SqlParameter("UserName",strUserName),
                        new SqlParameter("PWD",strPWD)
                        };
                        sqlCmd.Parameters.AddRange(sqlPara); //把Paramerter 数组参数添加到sqlCmd中
                        sqlCmd.ExecuteNonQuery();
                        Console.WriteLine("Insert OK");
                    }
    
                    //从表中读取数据
                    string strRead = "SELECT   ID, Name, Password FROM      MyTable1 ";
                    using (SqlCommand sqlCmd = new SqlCommand(strRead, conn))
                    {
                        //sqlDataReader 逐行读取数据
                        using (SqlDataReader sdr = sqlCmd.ExecuteReader())
                        {
                            while (sdr.Read())
                            {
    
                                int id = sdr.GetInt32(sdr.GetOrdinal("ID"));  //sdr.GetOrdinal 获取列的序号
                                string Name = sdr.GetString(sdr.GetOrdinal("Name"));
                                bool PWD = sdr.IsDBNull(sdr.GetOrdinal("Password"));
                                Console.WriteLine("ID:{0},Name:{1},PWD:{2}", id, Name, PWD);
                                Console.WriteLine(sdr.GetString(1));
                            }
                        }
                    }
                    conn.Close();//此处可以省略,Dispose()方法会自动检查
                }
    
    
            }
        }
    }
  • 相关阅读:
    全栈程工程师
    月薪8000的程序员和月薪2万的程序员差别在哪里?
    原型中的访问
    关于 基本类型和复合类型 用== 判断的小问题
    使用原型解决构造函数问题
    前端工程师学习路线 --书籍
    程序员成长之路
    GIT学习(1) Pull和Fetch
    OO面向对象编程:第四单元总结及课程总结
    OO面向对象编程:第三单元总结
  • 原文地址:https://www.cnblogs.com/siri/p/2813426.html
Copyright © 2011-2022 走看看