将日语字符从 TextBox 存储到 SQL table
Storing Japanese characters from TextBox to SQL table
日文字符的存储形式 TextBox
到 SQL table 显示为问号。
我只是想制作一个 table 来保存日文文本和英文翻译,让我在学习日文时的生活更轻松。
搜索了 2 天的解决方案,现在似乎没有任何效果。
我什至不确定这是否真的是将文本存储到数据的好习惯 table。
另外,我要存储日语字符的列设置为 nvarchar(50)
。
private void addWordButton_Click(object sender, EventArgs e)
{
con.Open();
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = "INSERT Words (WordJapanese, WordEnglish) VALUES ('" + newJPwordTxt.Text + "', '" +
newENwordTxt.Text + "')";
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();
}
您似乎错过了 Insert
语句中的 into
关键字,作为第二个注意事项,您需要注意避免了这种字符串连接并且它对 SQL注入攻击。您应该始终使用 parameterized queries to avoid SQL Injection:
cmd.CommandText = "INSERT into Words (WordJapanese, WordEnglish) VALUES (@WordJapanese, @WordEnglish)";
cmd.Parameters.Add("@WordJapanese", SqlDbType.NVarChar, 50).Value = newJPwordTxt.Text;
cmd.Parameters.Add("@WordEnglish", SqlDbType.NVarChar, 50).Value = newENwordTxt.Text;
您的查询存在语法问题,其次您应该使用参数化查询来防止 SQL 注入。
以下应该不错:
cmd.CommandText = "INSERT INTO Words(WordJapanese, WordEnglish) VALUES (@Japanse, @English)";
cmd.Parameters.Add("@Japanse", SqlDbType.NVarChar, 50).Value = newJPwordTxt.Text;
cmd.Parameters.Add("@English", SqlDbType.NVarChar, 50).Value = newENwordTxt.Text;
日文字符的存储形式 TextBox
到 SQL table 显示为问号。
我只是想制作一个 table 来保存日文文本和英文翻译,让我在学习日文时的生活更轻松。
搜索了 2 天的解决方案,现在似乎没有任何效果。
我什至不确定这是否真的是将文本存储到数据的好习惯 table。
另外,我要存储日语字符的列设置为 nvarchar(50)
。
private void addWordButton_Click(object sender, EventArgs e)
{
con.Open();
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = "INSERT Words (WordJapanese, WordEnglish) VALUES ('" + newJPwordTxt.Text + "', '" +
newENwordTxt.Text + "')";
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();
}
您似乎错过了 Insert
语句中的 into
关键字,作为第二个注意事项,您需要注意避免了这种字符串连接并且它对 SQL注入攻击。您应该始终使用 parameterized queries to avoid SQL Injection:
cmd.CommandText = "INSERT into Words (WordJapanese, WordEnglish) VALUES (@WordJapanese, @WordEnglish)";
cmd.Parameters.Add("@WordJapanese", SqlDbType.NVarChar, 50).Value = newJPwordTxt.Text;
cmd.Parameters.Add("@WordEnglish", SqlDbType.NVarChar, 50).Value = newENwordTxt.Text;
您的查询存在语法问题,其次您应该使用参数化查询来防止 SQL 注入。
以下应该不错:
cmd.CommandText = "INSERT INTO Words(WordJapanese, WordEnglish) VALUES (@Japanse, @English)";
cmd.Parameters.Add("@Japanse", SqlDbType.NVarChar, 50).Value = newJPwordTxt.Text;
cmd.Parameters.Add("@English", SqlDbType.NVarChar, 50).Value = newENwordTxt.Text;