首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何定义连接字符串以从Windows应用程序连接到Server?

问如何定义连接字符串以从Windows应用程序连接到Server?
EN

Stack Overflow用户
提问于 2019-03-01 07:26:08
回答 2查看 98关注 0票数 0

我是ASP.NET网站的开发人员。我已经创建了一个Windows应用程序,用于从Server检索数据。下面是我的应用程序配置和类文件,用于从Server检索数据:

App.config

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
  </configSections>
  <appSettings>
  </appSettings>
 <connectionStrings>
  <add name="ConnString" connectionString="Data Source=INFY\SQLEXPRESS;Initial Catalog=NEWBULKSMS;Integrated Security=True"
   providerName="System.Data.SqlClient" />
 </connectionStrings>
</configuration>

试图连接到Server的代码

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Collections;
using MySql.Data.MySqlClient;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

public class Mysql
{
    public static string ConString = System.Configuration.ConfigurationManager.AppSettings.Get("ConnString");
    public static string InsertResult = "0";
    private static Hashtable paramCache = Hashtable.Synchronized(new Hashtable());
    private static MySqlParameter[] DiscoverSpParameterSet(string spName, bool includeReturnValueParameter)
    {
        using (MySqlConnection cn = new MySqlConnection(Mysql.ConString))
        {
            using (MySqlCommand cmd = new MySqlCommand(spName, cn))
            {
                cn.Open();
                cmd.CommandType = CommandType.StoredProcedure;

                MySqlCommandBuilder.DeriveParameters(cmd);

                MySqlParameter[] discoveredParameters = new MySqlParameter[cmd.Parameters.Count]; ;

                cmd.Parameters.CopyTo(discoveredParameters, 0);

                return discoveredParameters;
            }
        }
    }
}

这是连接到Server数据库的正确方式吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-01 07:34:39

您的连接字符串看起来不错,但是您的代码试图使用MySql类连接到Server。这是错误的。而不是MySqlConnection,您应该使用SqlConnection,而不是MySqlCommand - SqlCommand等等。

所有以MySql开头的类都属于MySql.Data.MySqlClient命名空间,这些类都是设计用来处理MySql的。

要使用Server,您需要使用以Sql开头并属于System.Data.SqlClient命名空间的类。

我首先从代码顶部移除using MySql.Data.MySqlClient;行,然后通过用Server类替换MySql类来修复所有编译错误。

票数 4
EN

Stack Overflow用户

发布于 2019-03-09 19:22:52

更改连接字符串,如下面所示,您必须从MySql更改为SQL,并使用已添加到项目中的MySql.Data.MySqlClient insted的System.Data.SqlClient添加.

代码语言:javascript
复制
public static string connectionString = WebConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
public static string InsertResult = "0";
private static Hashtable paramCache = Hashtable.Synchronized(new Hashtable());
private static SqlParameter[] DiscoverSpParameterSet(string spName, bool includeReturnValueParameter)
{
    using (SqlConnection sqlConnection = new SqlConnection(connectionString))
    {
        using (SqlCommand command = new SqlCommand(spName, sqlConnection))
        {
            connection.Open();
            command.CommandType = CommandType.StoredProcedure;
            SqlCommandBuilder.DeriveParameters(command);
            SqlParameter[] discoveredParameters = new SqlParameter[cmcommandd.Parameters.Count];
            discoveredParameters=command.ExecuteNonQuery();
            ccommandn.Close();
            return discoveredParameters;
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54939842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档