0
私はデータベースファイルの作成と書き込みを試みています。接続文字列は、このような変わった理由を私は知らないデータベース接続文字列
:この接続文字列を使用して
Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\User\Documents\DATA_TEST.mdf;Integrated Security=True;Connect Timeout=30
を、私はこのエラーを取得する:
Error CS1009 Unrecognized escape sequence
XXX_DATABASE_TEST D:\FOLDER\XXX_DATABASE_TEST\Form1.cs
だから私は "に「/」に変更しました\ ":
Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:/Users/User/Documents/DATA_TEST.mdf;Integrated Security=True;Connect Timeout=30
エラーが発生しました。フォームが読み込まれましたが、データベースは空ですが、書き込みはしません。あなたは私がここで間違ってやっている、私が把握することができます:
con = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=C:\\Users\\User\\Documents\\DATA_TEST.mdf;Integrated Security=True;Connect Timeout=30");
そしてlocaldb
のために、あなたはこのような何かを行うことができます。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;
namespace XXX_DATABASE_TEST
{
public partial class Form1 : Form
{
SqlCommand cmd;
SqlConnection con;
SqlDataAdapter da;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
con = new SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\User\Documents\DATA_TEST.mdf;Integrated Security=True;Connect Timeout=30");
con.Open();
cmd = new SqlCommand("INSERT INTO testdata VALUES (Name, IDo, Gender) VALUES (@Name,@IDo,@Gender)", con);
cmd.Parameters.Add("@Name", textBox1.Text);
cmd.Parameters.Add("@IDo", textBox1.Text);
cmd.Parameters.Add("@Gender", comboBox1.SelectedItem.ToString());
cmd.ExecuteNonQuery();
}
}
}
ボタンのクリックイベントは配線されていますか? ExecuteNonQueryは、影響を受けたレコード数の整数を返します。その値を確認してください。 – LarsTech
http://www.connectionstrings.com。パス名の前後に引用符が必要で、バックスラッシュを元に戻します。 Windowsはそれらを使用します。 –