尝试从C#.Net连接到SQL Server数据库时出错

时间:2014-06-24 04:19:51

标签: c# sql-server

这是代码

public string connectionString = ConfigurationManager.AppSettings["myconnection"];

public int get_details(string team1_name, string team2_name)
{
            SqlConnection con = new SqlConnection(connectionString);
            string sql = "insert into Table(team1_name,team2_name) values(@team1_name,@team2_name)";
            SqlCommand cmd = new SqlCommand(sql,con);
            cmd.Parameters.AddWithValue("@team1_name", team1_name);
            cmd.Parameters.AddWithValue("@team2_name", team2_name);

            try
            {
                con.Open();
                return cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                con.Close();
            }
}

每当我运行此代码时,错误都会显示

  

dblayer.dll中出现未处理的“System.InvalidOperationException”类型异常

     

其他信息:ConnectionString属性尚未初始化。

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

解决方案1:您需要使用以下语句正确初始化连接字符串。

public string connectionString =ConfigurationManager.ConnectionStrings
         [ConfigurationManager.AppSettings["myconnection"]].ConnectionString;

解决方案2:

Table是关键字,因此您需要将其括在方括号[]中。

替换它:

string sql = "insert into Table(team1_name,team2_name) 
                                                values(@team1_name,@team2_name)";

使用:

string sql = "insert into [Table](team1_name,team2_name) 
                                                values(@team1_name,@team2_name)";

答案 1 :(得分:0)

试试这个:

连接字符串:

<configuration>
 <connectionStrings>
   <add name="conName" connectionString="Server=ServerName;initial catalog=DBName;User ID=sa;Password=sa123;"/> // SQL server Authentication
 </connectionStrings>
<configuration>

 public string connectionString = ConfigurationManager.ConnectionStrings["ConnectionName"].ConnectionString;


    public int get_details(string team1_name, string team2_name)
    {
        SqlConnection con = new SqlConnection(connectionString);
        string sql = "insert into Table(team1_name,team2_name) values(@team1_name,@team2_name)";
        SqlCommand cmd = new SqlCommand(sql, con);
        cmd.CommandType = CommandType.Text;
        cmd.Parameters.AddWithValue("@team1_name", team1_name);
        cmd.Parameters.AddWithValue("@team2_name", team2_name);
        try
        {
            cmd.Connection = con;
            con.Open();
            return cmd.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            con.Close();
        }
    }
相关问题