Привет всем, я пишу код, который использует SQL Server CE 3.5, и у меня очень странная проблема.У меня есть строковое поле в одной из таблиц, в котором необходимо сохранить полный путь к файлу.
В ходе попытки решить эту проблему, я установил это поле как nvarchar
с максимальным размером 4000,но он по-прежнему обрезает более длинные строки, которые намного короче, чем предел
, например:
D:\iTunes\iTunes Media\Music\Abigail Williams\In The Absence Of Light\02 Final Destiny Of The Gods.m
Это явно меньше 4000 символов, но при этом отсутствует p3
вконец строки.
Я использую адаптер таблицы для ввода данных в базу данных с помощью следующего запроса:
INSERT INTO [Track] ([Artist_ID], [Album_ID], [FilePath], [LastUpdate])
VALUES (@Art, @Al, @Fp, @LU)
Я знаю, что строки полностью сформированы при вставке, потому чтоЯ использую следующий код для проверки:
if(!temp.Filepath.EndsWith(".mp3"))
MessageBox.Show("File Error");
this.trackTableAdapter1.InsertQuery(ArtID, AlID, temp.Filepath, File.GetLastWriteTime(temp.Filepath));
Окно сообщения не отображается, поэтому строка должна правильно заканчиваться при вставке.
запрос, извлекающий данные:
SELECT
*
FROM Track
WHERE Artist_ID=@Artist_ID AND Album_ID=@Album_ID
Используемый код:
foreach (Database.MusicDBDataSet.TrackRow TR in this.trackTableAdapter1.GetAlbumTracks(AR.Artist_ID, AlR.Album_ID).Rows)
{
//if (!TR.FilePath.EndsWith(".mp3"))
//MessageBox.Show("File Path Error");
this.ArtistList[AR.Name].AlbumList[this.ArtistList[AR.Name].AlbumList.Count - 1].TrackList.Add(new Track(TR.FilePath, AlR.Name, AR.Name));
}
Кто-нибудь когда-либо сталкивался с этой проблемой раньше?