3

というデータベース テーブルにテキスト ボックスの値を挿入しようとしていますsite_list

テーブルには とのsite_list2 つの列が含まれてidおりsite_nameid自動インクリメントに設定されています

これは私が試しているコードで、実行時にエラーはありませんが、データはテーブルに表示されません

SqlConnection conn = new SqlConnection();
conn.ConnectionString =
             "Data Source=.\\SQLExpress;" +
             "User Instance=true;" +
             "Integrated Security=true;" +
             "AttachDbFilename=|DataDirectory|scraper_db.mdf;";            

SqlCommand addSite = new SqlCommand("INSERT INTO site_list (site_name) "
     + " VALUES (@site_name)", conn);

addSite.Parameters.Add("@site_name", SqlDbType.NVarChar).Value = textBox1.Text;

conn.Open();
addSite.ExecuteNonQuery();
conn.Close();

どんな助けでも大歓迎です。

よろしく

編集:

このコードは機能し始めました

    string connstring = "Data Source=.\\SQLExpress;"+
                        "Integrated Security=true;"+
                        "User Instance=true;"+
                        "AttachDBFilename=|DataDirectory|scraper_db.mdf;"+
                        "Initial Catalog=scraper_db";

    using (SqlConnection connection = new SqlConnection(connstring))
    {
        connection.Open();
        SqlCommand addSite = new SqlCommand("INSERT INTO site_list (site_name)"+
                             "VALUES (@site_name)", connection);
        addSite.Parameters.AddWithValue("@site_name", textBox1.Text); 
        addSite.ExecuteNonQuery();
        connection.Close();
    }
4

5 に答える 5

3

人々が示唆するように、サーバー上にデータベースを作成してみてください ( Sql Management Studioを使用すると、さらに簡単に処理できます)。それが完了したら、次のことを試してください(テスト済みで動作します):

using (SqlConnection conn = new SqlConnection(@"Persist Security Info=False;Integrated Security=true;Initial Catalog=myTestDb;server=(local)"))
{
    SqlCommand addSite = new SqlCommand(@"INSERT INTO site_list (site_name) VALUES (@site_name)", conn);
    addSite.Parameters.AddWithValue("@site_name", "mywebsitename");
    addSite.Connection.Open();
    addSite.ExecuteNonQuery();
    addSite.Connection.Close();
}
于 2012-02-20T15:51:14.707 に答える
2
try
{
    using (SqlConnection conn = new SqlConnection(@"Persist Security Info=False;Integrated Security=true;Initial Catalog=myTestDb;server=(local)\SQLEXPRESS;database=Inventory;Data Source=localhost\SQLEXPRESS;"))
    {
        SqlCommand addSite = new SqlCommand(@"INSERT INTO Creation (Name,Product,Quantity,Category) VALUES (@Name,@Product,@Quantity,@Category)", conn);
        addSite.Parameters.AddWithValue("@Name", textBox1.Text);
        addSite.Parameters.AddWithValue("@Product", textBox2.Text);
        addSite.Parameters.AddWithValue("@Quantity", textBox3.Text.ToString());
        addSite.Parameters.AddWithValue("@Category", textBox4.Text);
        thisConnection.Open();
        addSite.ExecuteNonQuery();
    }
}
catch
{
    thisConnection.Close();
}
于 2012-08-16T09:30:45.247 に答える
1

これを試してください:

string sql = String.Format("INSERT INTO site_list (site_name) VALUES('{0}')", myTextBox.Text);
using(SqlConnection connection = new SqlConnection(myConnectionString))
{
   connection.open();
   using(SqlCommand cmd = new SqlCommand(sql, connection))
   {
      cmd.ExecuteNonQuery();
   }
}

幸運を

于 2012-02-20T15:39:43.203 に答える