Хранимая процедура для арабских букв
я использую этот код для обновления моих данных о том, что я получаю ?????? в базе данных когда я пишу арабский помет что я должен для этого сделать
create procedure [dbo].[Updateproject] @ProjectID int, @Title nchar(10) , @Description text , @DueBy datetime , @Status nvarchar(50) as update dbo.uni_project set Status=@Status,Title=@Title,Description=@Description,DueBy=@DueBy where projectID = @ProjectID return 0 GO
я использую этот код в своей форме
string str = ConfigurationManager.ConnectionStrings["my"].ConnectionString; using (SqlConnection sqlcon = new SqlConnection(str)) { using (SqlCommand cmd = new SqlCommand("Createproject", sqlcon)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("Title", txtTitle.Text); cmd.Parameters.AddWithValue("Description", txtData.Text); cmd.Parameters.AddWithValue("DueBy", cbDate.Text); cmd.Parameters.AddWithValue("username", txtusername.Text); sqlcon.Open(); cmd.ExecuteNonQuery(); MessageBox.Show("reminder set for" + cbDate.Text); } }
Что я уже пробовал:
update dbo.uni_project set Status=@Status,Title=N+@Title,Description=N+@Description,DueBy=@DueBy where projectID = @ProjectID
но я не работал.
Richard MacCutchan
Более вероятно, что вы используете неверную кодовую страницу и шрифт при отображении данных.
Richard Deeming
NB: То text
, ntext
, и image
типы были устаревшими уже более десяти лет. Они будут удалены из будущей версии SQL server. Вы должны использовать varchar(max)
, nvarchar(max)
, и varbinary(max)
вместо.
ntext, text и image (Transact-SQL) - SQL Server | Microsoft Docs[^]