zoukankan      html  css  js  c++  java
  • C# 中的数据库操作~存储过程篇Mysql SqlServer

    Mysql

    存储过程查询方式:

      public  NetPort GetNetdevicePortName(string uuid)
            {
                var ret = new NetPort();
                try
                {
    
                    MySqlDataReader myreader = null;
                    MySqlCommand myCommand = null;
    
    
                    using (MySqlConnection connection = new MySqlConnection(_connectionMysqlString))
                    {
    
                        connection.Open();
                        myCommand = new MySqlCommand();
                        myCommand.Connection = connection;
                        myCommand.CommandText = "Pro_GetNetdevice_Typename";
                        myCommand.CommandType = CommandType.StoredProcedure;
                        MySqlParameter uuidParameter = new MySqlParameter("?uuid", MySqlDbType.String);//mysql的存储过程参数是以?打头的!!!!
                        uuidParameter.Value = uuid;
                        myCommand.Parameters.Add(uuidParameter);
                        myreader=myCommand.ExecuteReader();
                        List<string> PortNames = new List<string>();
                        List<string> FeatureIds = new List<string>();
                        while (myreader.Read())
                        {
                            PortNames.Add(myreader["type_name"].ToString());
                            FeatureIds.Add(myreader["featureid"].ToString());
                        }
                        ret.PortNames = PortNames;
                        ret.FeatureIds = FeatureIds;
                        return ret;
                    }
    
                }
                catch (Exception ex)
                {
                    _log.Error("查询端口失败" + ex);
                    return null;
                }
            }  

    SQL server

    普通数据库操作

        var ret = new List<ChartConfig>();
                try
                {
    
                    using (SqlConnection conn=DbHelper.GetConnection())
                    {
                        conn.Open();
                    string sql = "SELECT * FROM  Netdevice_DetailView_Config where Category=@category";
                        SqlCommand command = conn.CreateCommand();
                        command.CommandType = CommandType.Text;
                        command.CommandText = sql;
                        command.Parameters.Add("@Category",SqlDbType.VarChar);
                        command.Parameters["@Category"].Value = category;       
                        SqlDataReader reader = command.ExecuteReader();
                        while (reader.Read())
                        {                      
                              var Node = new ChartConfig
                            {
                                Category = reader["Category"].ToString(),
                                FeatureIds = Array.ConvertAll(reader["FeatureId"].ToString().Split(','), new Converter<string, int>(int.Parse)),
                                FeatureNames = reader["FeatureName"].ToString().Split(','),
                                Title = reader["TitleFormat"].ToString()
                            };
                              ret.Add(Node);              
                        }
                        return ret;
                    }
    
                }
                catch (Exception ex)
                {
                    _log.Error("查询网络设备配置数据失败" + ex);
                    return null;
                }  

    EF 调用SQL SERVER存储过程

      using (var ctx = new busContext())
                {
                    SqlParameter[] para = new SqlParameter[] {
                    new SqlParameter("@in_station_id",1),
                    new SqlParameter("@in_register_type",2)
                    };
                    var busDetails = ctx.Database.SqlQuery<BusDetail>("EXEC [dbo].[bus_message] @in_station_id,@in_register_type", para);
                    Console.WriteLine(busDetails.First().sname);
                    Console.ReadLine();
                }

    待更新,mysql普通操作,sqlserver调用存储过程

  • 相关阅读:
    nput="file" 浏览时只显示指定excel文件,筛选特定文件类型
    SSM三大框架的运行流程、原理、核心技术详解
    HttpServletRequest和ServletRequest的区别
    拦截器(Interceptor)与过滤器(Filter)的区别
    springboot整合webservice
    SpringBoot配置Cors解决跨域请求问题
    多线程同步锁和死锁以及synchronized与static synchronized 的区别
    大批量数据导出excel
    查看MySql版本号命令
    分布式锁初认识
  • 原文地址:https://www.cnblogs.com/pzqu/p/9457619.html
Copyright © 2011-2022 走看看