Многопользовательский логин - какой пользователь добавил файл
- Эй! Итак, у меня есть приложение, где в основном я могу перетащить файл в кнопку, а затем информация об этом файле будет отображаться на этикетках. После этого эта информация будет отправлена в таблицу из моей базы данных. Но теперь я создал форму входа в систему, где я могу выбрать, хочу ли я войти в систему с администратором и обычным пользователем. Здесь я построил новую таблицу для пользователей, где я получил (ID, TypeUser, Password), то, что я хочу достичь сейчас, - это после того, как я войду в систему с типом пользователя и добавлю заполнение, приложение распознает, какой пользователь добавил этот файл, и запишет его в мою базу данных.
Это обе таблицы:
файл информации - именем
Тип файла
Размер файла
Созданный
Модифицированный
Доступ
PcName
А другой стол
пользователи - идентификатор
TypeUser
Пароль
Если пользователи войдут в систему с учетной записью администратора и добавят файл, он будет сохранять запись следующим образом:
Имя Файла - GTA.exe
Тип файла -. exe
Размер файла-24145
Создано-01/06/2015
Изменено-01/06/2015
Доступ-01/06/2015
PcName - MYMACHINE-PC
TypeUser - Administrador
(Это будет показано на DataGridView)
Это не возвращает то, что я хочу, потому что он говорит, что этот файл существует, и я не могу понять, почему.
Что я уже пробовал:
Я попытался сделать вставку
INSERT INTO infofile(Filename, Filetype, Filesize, Created, Modified, Access, PcName, TypeUser) VALUES(@Filename, @Filetype, @Filesize, @Created, @Modified, @Access, @PcName, @TypeUser)"
Я попытался сделать запрос с помощью INNER JOIN
SELECT infofile.Filename, users.TipoUtilizador FROM infofile INNER JOIN users ON infofile.Filename=users.Filename ORDER BY infofile.Filename
Это код, в котором отображается "этот файл уже существует!".
Sub AddFile() SQLCon = New SqlConnection SQLCon.ConnectionString = "....." Dim sentRecycle As Boolean = SentToRecycle(MeuFicheiro.ToString) Try Query = "INSERT INTO infofile(Filename, Filetype, Filesize, Created, Modified, Access, PcName, TypeUser) VALUES(@Filename, @Filetype, @Filesize, @Created, @Modified, @Access, @PcName, @TypeUser)" SQLCon.Open() SqlCmd = New SqlCommand(Query, SQLCon) With SqlCmd.Parameters .Add("@Filename", SqlDbType.Char).Value = lblName.Text .Add("@Filetype", SqlDbType.Char).Value = lblType.Text .Add("@Filesize", SqlDbType.Int).Value = lblSize.Text .Add("@Created", SqlDbType.Char).Value = lblCreated.Text .Add("@Modified", SqlDbType.Char).Value = lblModify.Text .Add("@Access", SqlDbType.Char).Value = lblAccess.Text .Add("@PcName", SqlDbType.Char).Value = nomePcLbl.Text .Add("@MoveRecycle", SqlDbType.Char).Value = sentRecycle End With Carregar() SqlCmd.ExecuteNonQuery() SQLCon.Close() Catch ex As Exception MsgBox("Ficheiro existente!") ClearFields() End Try End Sub
CHill60
Так в чем же заключается ваш реальный вопрос или проблема?
Kats2512
нет, мы не знаем, что подразумевается под этим. Пожалуйста, используйте ссылку "улучшить вопрос" и уточните, в чем именно вы на самом деле ищете помощь.
Member 12490691
Я только что ее отредактировал. Извиняюсь
Member 12490691
Уже отредактировал вопрос
CHill60
Какая строка кода говорит: "этот файл существует"? Ни один из кодов, которые вы опубликовали до сих пор!
CHill60
Итак, вы говорите, что получаете сообщение "Ficheiro existente!", а не фактическое исключение "файл уже существует". Вместо того чтобы выводить собственное сообщение об ошибке попробуйте заменить его MsgBox("Ficheiro existente!")
с MsgBox(e.ToString())
так что мы узнаем, что такое фактическое исключение
vagelis1
Здесь проблема заключается в чем-то другом, возможно, в sql-соединении или ошибке в lblsize значений параметров.Текст " кажется подозрительным.