我在将数据插入数据库时遇到问题。 我可以使用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资源管理器检查我的表时 没有任何内容添加到表中。 我很难搞清楚这一点 我很感激任何帮助的人
答案 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