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调用存储过程

  • 相关阅读:
    win10 mysql5.7忘记密码如何解决
    win10 mysql5.7指定某个配置文件启动
    kubernetes配置(kubeconfig)对多集群的访问
    kubernetes中kubeconfig的用法
    rancher v2.2.4创建kubernetes集群出现[etcd] Failed to bring up Etcd Plane: [etcd] Etcd Cluster is not healthy
    kubernetes 强制删除istio-system空间,强制删除pod
    rancher2.0 自定义应用商店(catalog)
    docker-compose安装及docker-compose.yml详解
    细述kubernetes开发流程
    轻松了解DNS劫持
  • 原文地址:https://www.cnblogs.com/pzqu/p/9457619.html
Copyright © 2011-2022 走看看