SQL c#insert命令不起作用

时间:2013-08-22 15:42:26

标签: c# mysql sql database sql-insert

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

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资源管理器检查我的表时 没有任何内容添加到表中。 我很难搞清楚这一点 我很感激任何帮助的人

2 个答案:

答案 0 :(得分:0)

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

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

成为(例如)

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

答案 1 :(得分: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