• 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()方法会自动检查
                }
    
    
            }
        }
    }
  • 相关阅读:
    已经有人提出过循环
    中华术数系列之奇门遁甲精简版
    研究下市场上有哪些软件项目/产品,哪些是值得做的?
    中华术数系列之奇门遁甲手机版
    Webbrowser代理支持
    随笔:杂念纷呈
    架构设计实践:基于WCF大型分布式系统(转)
    WCF分布式开发必备知识(3):Enterpise Services(转)
    看完这20部电影 你能变成经济学大师(转)
    WCF服务契约继承与分解设计(转)
  • 原文地址:https://www.cnblogs.com/siri/p/2813426.html
Copyright © 2020-2023  润新知