首页 > 数据库 >C#连接数据库

C#连接数据库

时间:2023-05-05 16:44:19浏览次数:46  
标签:count string C# 数据库 SalesLT CustomerID sql 连接 conn

第一步先在配置文件中写入数据库的配置信息

<add name="connString" connectionString="server=服务器名;database=数据库名;uid=登录名;pwd=登录密码"/>
    <connectionStrings>
        <add name="connString" connectionString="server=LIN;database=TestDB;uid=sa;pwd=123456"/>
    </connectionStrings>

读取配置文件

private static string connectionString= ConfigurationManager.ConnectionStrings["connString"].ToString();

这里要引用类Configuration

SqlConnection conn = new SqlConnection(connectionString);

写sql

string sql = $"insert into test(Tname,age,datetime)values('{name}','{age}','{time}')";
            SqlCommand cmd = new SqlCommand(cmdTest, conn);
            conn.Open();
            int cound=cmd.ExecuteNonQuery();

count,返回一个值,1为有一行受影响

查询:

        static void SelectDB()
        {
            string sql = $"select * from SalesLT.Customer where CustomerID=5";
            SqlDataReader count =SQLHepler.ExecuteScalar(sql);
            while(count.Read())//查询结果返回多行时,循环输出
            {
                Console.WriteLine(count["LastName"] + "\t" + count["FirstName"]);
            }
            
        }
        static void SelectDB2() {
            string sql = $"select * from SalesLT.Customer where CustomerID=5 or CustomerID=7";
            sql += "select * from SalesLT.Address a inner join SalesLT.CustomerAddress ca\r\non a.AddressID=ca.AddressID\r\ninner join SalesLT.Customer c\r\non c.CustomerID=ca.CustomerID\r\nwhere a.City='Bothell'";
            SqlDataReader count = SQLHepler.ExecuteScalar(sql);
            while (count.Read())
            {
                Console.WriteLine(count["LastName"] + "\t" + count["FirstName"]);
            }
            if (count.NextResult())//当一次查询多个表时,从第一个开始
            {
                while (count.Read())
                {
                    Console.WriteLine(count["LastName"] + "\t" + count["FirstName"]);
                }
            }
        }

 

        public static SqlDataReader ExecuteScalar(string cmdTest)
        {
            SqlConnection conn = new SqlConnection(connectionString);
            SqlCommand cmd = new SqlCommand(cmdTest,conn);
            conn.Open();
            SqlDataReader result = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            //conn.Close();
            return result;
        }

 

标签:count,string,C#,数据库,SalesLT,CustomerID,sql,连接,conn
From: https://www.cnblogs.com/lin-07/p/17374547.html

相关文章

  • camunda工作流实战项目(表单设计器+流程编辑器,零代码创建流程)
    一、整体情况介绍基于ruoyi平台和camunda工作流开发而成,结合bpmn.js流程编辑器和vform表单设计器,实现常规流程零代码创建。具备流程中心的能力,支持外部任务,可协调多个业务系统协同工作具备SaaS平台的能力,支持多租户,各业务系统可作为租户,创建自己的流程,通过外部任务与自身业务......
  • CesiumWidget.js的作用
    顾名思义,CesiumWidget就是cesium小部件的意思。但是,cesium包含哪些小部件?这些小部件又有哪些意义?这些小部件是不可或缺的吗?看《Cesium原理篇:1最长的一帧之渲染调度》讲,好像cesium的启动就是由widget来触发的?CesiumWidget.jsstartRenderLoop函数需要传入一个widget参数。这个w......
  • VeriSilicon's Vivante® Neural Network Processor (NPU) IP
    高度可扩展、可编程的计算机视觉和人工智能处理器 芯原Vivante的神经网络处理器(NPU)IP是高度可扩展、可编程的计算机视觉和人工智能处理器,支持终端、边缘端及云端设备的人工智能运算升级。VivanteNPUIP可满足多种芯片尺寸和功耗预算,是具成本效益的优质神经网络加速引擎解决......
  • 1688|Taobao|JD京东api接口获取商品详情C++演示案例
    ​ 商品详情页的作用:介绍产品信息、给出购买理由、提升信任感、提出售后保障。1、介绍产品信息:产品信息表做得越完整,越能让用户更细致了解产品,也减少了售前客服咨询的工作量。2、给出购买理由:在用户初步了解了产品信息后,商家就需要展示商品优势,给出核心卖点。接下来小编会展......
  • LeetCode 209. 长度最小的子数组
    题目链接:LeetCode209.长度最小的子数组本题是一个滑动窗口的题,所谓滑动窗口,就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。在本题中实现滑动窗口,主要确定如下三点:窗口内是什么?窗口就是满足其和≥target的长度最小的连续子数组。如何移动窗口的起......
  • 修改数据库实例、修改数据库、修改数据表、修改数据,编码、排序规则
    查实例字符集showvariableslike'%character%';查实例排序规则showvariableslike'%collation%';查库语句showcreatedatabasetest;查表排序规则showtablestatusfromtestlike'test_saas_single';查字段排序规则showfullcolumnsfromtest_saas_single;......
  • 软考程序员-C专题(2)
    目录1.2019上半年真题2.2018下半年真题3.2018上半年真题 ......
  • FAST协议解析2 FIX Fast Tutorial翻译【PMap、copy操作符】
    FIXFastTutorialFIXFast教程(译注:本篇是对https://jettekfix.com/education/fix-fast-tutorial/翻译和解释,除了文本的直接翻译外,我还针对各点按我的理解进行了说明和验证,所以可以看到译文下会有很多译注,部分译注还会带有实例。建议看此篇前先看前一篇“FAST协议解析1通过输入......
  • Android 程序活动单元Activity
    点击按钮页面跳转在xxxActivity类,创建按钮对象对按钮对象创建匿名内部类监听器记得选View.OnClickListener()在内部类建立Intent跳转对象:newIntent(原界面,目标界面)Intentintent=newIntent(LoginActivity.this,MainActivity.class);使用startActivity启动跳转......
  • C# 细数AForge.Video.FFMPEG使用过程中踩的坑及解决方案
    细数AForge.Video.FFMPEG使用过程中踩的坑及解决方案在后台代码中只要有引用到AForge.Video.FFMPEG都不用等到具体调用,只要运行直接就报错解决方案:发生这个问题的原因比较简单,因为AForge.Video.FFMPEG使用VC++写的,编译的时候已经被编译成本地代码,而C#一般目标平台都是“AnyCP......