0

我在将数据插入数据库时​​遇到问题。我可以使用选择查询从数据库中读取,所以我知道我的连接字符串是正确的,但由于某种原因插入不起作用。这是我的代码:

private string ConnectionString()
{
    return @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\App_Data\dbBusiness.mdf;Integrated Security=True;User Instance=True";
}
private void Insert()
{
   try{
        string sqlStrInsert = "INSERT INTO myTable ([param1],[param2])VALUES(@param1,@param2)";
        SqlConnection connection = new SqlConnection(ConnectionString());
        SqlCommand command = new SqlCommand(sqlStrInsert, connection);
        command.Parameters.Add("@param1", SqlDbType.SmallInt);
        command.Parameters.Add("@param2", SqlDbType.NVarChar,50);
        command.Parameters["@param1"].Value = numOf_company;
        command.Parameters["@param2"].Value = txt_name.Text;
        connection.Open();
        command.ExecuteNonQuery();
        connection.Close();
      }
   catch(Exception ex)
      {
        throw new Exception(ex.ToString(), ex);
      }
}

它没有显示任何异常,当我通过 Visual Studio 资源管理器检查我的表时,表中没有添加任何内容。我无法弄清楚这一点,所以我会感谢任何帮助的人

4

2 回答 2

0

谁是表!?!?你的桌子的名字?如果是,请更改此名称,因为如果保留关键字

INSERT INTO table (param1,param2)VALUES(@param1,@param2)

变成(例如)

INSERT INTO myTable (param1,param2)VALUES(@param1,@param2)
于 2013-08-22T15:46:38.747 回答
0

我相信您在连接中忘记了初始目录。因为没有它,您的代码将尝试在 master(默认数据库)中运行。这是一个可以帮助您的片段,您显然需要修改代码以使您受益。

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Working
{
class Program
{
    static void Main(string[] args)
    {
        string DsQuery = "INSERT INTO table (param1,param2)VALUES(@param1,@param2)"; 
        string TgtServer = @".\SQLEXPRESS";
        DataSet dsServers = new DataSet();
        dsServers = ExecQuery(DsQuery, TgtServer, "InitialCatalog");
    }

    private static DataSet ExecQuery(string strQuery, string strServer, string strIC)
    {

        string connectionString = @"Data Source=" + strServer + ";Initial Catalog=" + strIC + ";Integrated Security=SSPI";
        string commandString = strQuery;

        DataSet ds = new DataSet();
        try
        {
            SqlDataAdapter da = new SqlDataAdapter(commandString, connectionString);
            da.Fill(ds, "Table");
        }
        catch (SqlException e)
        {
            Console.WriteLine("An SQL Exception Occured: " + e.Message);

        }
        catch (Exception e)
        {
            Console.WriteLine("An General Exception Occured: " + e.Message);

        }

        return ds;

    }
}

}

抱歉,我不能再给你任何东西,但这是我注意到缺少的东西,并且基于我无法提供的无错误。

这里是进一步阅读: http ://technet.microsoft.com/en-us/library/aa905872(v=sql.80).aspx

于 2013-08-22T15:57:14.940 回答