4

フォームにアラビア語で入力した後、挿入ボタンを押してフィールドをデータベースに挿入します。しかし、文字は : のような奇妙な疑問符に変わります"?????"。これは、数字や英字では起こりません。

アラビア語を入力して、それをアラビア語ではなくアラビア語としてデータベースに保持する方法は"?????"

ここに画像の説明を入力

ここにいくつかのコードがあります

SqlConnection cn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["StoreConnectionString"].ToString());

        public AddBook()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
                string X;
                cn.Open();
                SqlCommand cm = new SqlCommand("SELECT COUNT(*) FROM StoreItem", cn);
                Int32 count = (Int32)cm.ExecuteScalar();
                X = count.ToString();
                cn.Close();

                SqlCommand cmd = new SqlCommand("insert into StoreItem (ID, Title, Writer, Price, Qun, Date) Values ('" + X + "','" + textBox1.Text + "', '" + textBox2.Text + "', '" + textBox3.Text + "', '" + textBox4.Text + "', '" + DateTime.Now.ToString("d/M/yyyy") + "')", cn);
                cn.Open();
                cmd.ExecuteNonQuery();
                cn.Close();

                textBox1.Text = null;
                textBox2.Text = null;
                textBox3.Text = null;
                textBox4.Text = null;

                this.Close();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

private void Rsh()
{
    SqlDataAdapter ADAP = new SqlDataAdapter("Select * FROM StoreItem", cn);
    DataSet DS = new DataSet();
    ADAP.Fill(DS, "Store");
    dataGridView1.DataSource = DS.Tables["Store"];
    dataGridView1.Columns[1].Width = 200;
    dataGridView1.Columns[0].HeaderCell.Value = "#";
    dataGridView1.Columns[1].HeaderCell.Value = "عنوان الكتاب";
    dataGridView1.Columns[2].HeaderCell.Value = "الكاتب";
    dataGridView1.Columns[3].HeaderCell.Value = "السعر";
    dataGridView1.Columns[4].HeaderCell.Value = "الكمية";
    dataGridView1.Columns[5].HeaderCell.Value = "تاريخ دخول";
}
4

2 に答える 2

9

surly これらの列のデータ型は varchar です。

nvarchar に変更するだけで保存されます。また、プレフィックス N を追加することを忘れないでください。次のクエリを参照してください。

名前が nvarchar の場合

insert into Emp (name) values (N'test')
于 2013-07-15T11:02:27.960 に答える