現在、学校向けのプロジェクトに取り組んでいますが、これを解決することはできません。
フォームがあり、英語の文字を挿入すると正常に機能し、情報がDBに挿入されますが、ヘブライ文字(@form)を挿入しても何も起こりません。
ここで、明確にするために、ヘブライ文字を挿入しても、SQL挿入を含む「if」ブロックに入ることを100%テストしました。
プロジェクト全体は、Visual Studio WebDeveloper2008で管理されます。
ヘブライ語で書かれた値を手動で挿入すると、DBはそれらを保存して出力できますが、それらのセル(@form)を更新しようとすると、ヘブライ語のすべての文字が疑問符になります。
誰か助けてもらえますか?とても感謝しております。
みんなありがとう
編集:
これが私の挿入クエリです:(エラーはList<string>
、MyAdoHelper.csが次に来る)
if (Errors.Count == 0)
{
string Add_Member = "INSERT INTO members (name, password, email, gender, registration_date) VALUES ('" + Nickname + "', '" + Password + "', '" + Email + "', '" + Gender + "', '" + DateTime.Now.ToString() + "')";
MyAdoHelper.DoQuery(GlobalVar.DatabaseName, Add_Member);
Errors.Add(GlobalVar.GlobalStatus["Register_Success"]);
}
MyAdoHelper.cs:
public class MyAdoHelper
{
public MyAdoHelper()
{
}
public static SqlConnection ConnectToDb(string fileName)
{
string path = @"C:\Users\Guy\Desktop\Project\App_Data\";
path += fileName;
string connString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" +
path +
";Integrated Security=True;User Instance=True";
SqlConnection conn = new SqlConnection(connString);
return conn;
}
public static void DoQuery(string fileName, string sql)
{
SqlConnection conn = ConnectToDb(fileName);
conn.Open();
SqlCommand com = new SqlCommand(sql, conn);
com.ExecuteNonQuery();
com.Dispose();
conn.Close();
}
public static int RowsAffected(string fileName, string sql)
{
SqlConnection conn = ConnectToDb(fileName);
conn.Open();
SqlCommand com = new SqlCommand(sql, conn);
int rowsA = com.ExecuteNonQuery();
conn.Close();
return rowsA;
}
public static bool IsExist(string fileName, string sql)
{
SqlConnection conn = ConnectToDb(fileName);
conn.Open();
SqlCommand com = new SqlCommand(sql, conn);
SqlDataReader data = com.ExecuteReader();
bool found;
found = (bool)data.Read();
conn.Close();
return found;
}
public static DataTable ExecuteDataTable(string fileName, string sql)
{
SqlConnection conn = ConnectToDb(fileName);
conn.Open();
SqlDataAdapter tableAdapter = new SqlDataAdapter(sql, conn);
DataTable dt = new DataTable();
tableAdapter.Fill(dt);
return dt;
}
public static void ExecuteNonQuery(string fileName, string sql)
{
SqlConnection conn = ConnectToDb(fileName);
conn.Open();
SqlCommand command = new SqlCommand(sql, conn);
command.ExecuteNonQuery();
conn.Close();
}
public static int CountTableRows(string TableName)
{
SqlConnection Conn = MyAdoHelper.ConnectToDb(GlobalVar.DatabaseName);
Conn.Open();
string TotalRows = "SELECT COUNT(*) FROM " + TableName;
SqlCommand Cmd = new SqlCommand(TotalRows, Conn);
return (int)Cmd.ExecuteScalar();
}
}