首页 > 数据库技术 > 详细

C# 直接使用sql语句对数据库操作 (cmd.ExecuteNonQuery)

时间:2018-03-01 15:54:21      阅读:259      评论:0      收藏:0      [点我收藏+]

只介绍读和删

不管使用什么方法来对数据库进行操作都绕不开和数据库的连接问题,所以咱们先在App.config中添加连接字段

  <connectionStrings>
    <add name="connString" connectionString="server=.;database=Chat;integrated security=true"/>
  </connectionStrings>

随后读取该字段,需要用到 System.Configuration.dll,所以在 References 中添加该dll。

 

涉及到对对象列表的操作的话,添加对应的实体类也是必须的

所以添加如下类示例

 class UserAccount
    {
        public string Account { get; set; }
        public string PWD { get; set; }
        
    }

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

ok,正文开始

添加一个cs文件,添加如下代码示例

挺简单的,就不解释了,在注释中都写了

using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;

namespace CMD_SQLquery
{
    class TermsService
    {
        string connString = ConfigurationManager.ConnectionStrings["connString"].ToString();

        /// <summary>
        /// 通过SQL对数据库进行操作
        /// 核心
        /// </summary>
        /// <param name="sql">SQL语句</param>
        /// <returns></returns>
        public int ExecuteSQL(string sql)
        {
            SqlConnection conn = new SqlConnection(connString);
            SqlCommand cmd = new SqlCommand(sql, conn);
            conn.Open();
            try
            {
                int result = cmd.ExecuteNonQuery();
                return result;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                conn.Close();
            }
        }
        /// <summary>
        /// 拼接SQL语句  调用AddTermsVaule(string sql)
        /// 过程就是拼接和调用
        /// </summary>
        /// <param name="Items">传入的需要保存的对象列表</param>
        public void DB_AddItems(List<UserAccount> Items)
        {
            foreach (var item in Items)
            {
                StringBuilder objStrBuilder = new StringBuilder();
                objStrBuilder.Append("insert into UserAccount ");
                objStrBuilder.Append("(Account,PWD) ");
                objStrBuilder.Append("Values(‘{0}‘,‘{1}‘)");

                string sql = string.Format(objStrBuilder.ToString(), item.Account, item.PWD);
                Console.SetCursorPosition(0, 3);
                Console.Write("Importing ");
                Console.ForegroundColor = ConsoleColor.Red;
                Console.Write(Items.IndexOf(item)+1);
                Console.ForegroundColor = ConsoleColor.Gray;
                Console.WriteLine(" / " + Items.Count);
                ExecuteSQL(sql);
            }
        }
    }
}

在主函数中调用  示例

 static void Main(string[] args)
        {
            TermsService obj = new TermsService();

            Console.WriteLine("Preparing Account Data ... ");
            List<UserAccount> items = new List<UserAccount>();//准备对象列表
            for (int i = 0; i < 5; i++)
            {
                items.Add(new UserAccount
                {
                    Account = "Ac--" + (i + 1).ToString(),
                    PWD="PWD**"+ (i + 1).ToString()
                });
            }
            Console.WriteLine("Prepared 5 peices of Account Data!");
            obj.DB_AddItems(items);//

            Console.WriteLine("Press any key to truncate table...");
            Console.ReadKey();
            string sql = "truncate table UserAccount";
            obj.ExecuteSQL(sql);//清空
            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }

 程序截图:

技术分享图片

技术分享图片

技术分享图片

技术分享图片

 

C# 直接使用sql语句对数据库操作 (cmd.ExecuteNonQuery)

原文:https://www.cnblogs.com/yangsirc/p/8488435.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!