Преобразование из строки "DGL/C-2905" в тип "double" недопустимо.
First Entry is accepted on auto generate ID as DGL/C-2905. But After there is error as "Conversion from string "DGL/C- 2905" to type 'Double' is not valid." Please advice if i need any correction on my coding. Data Table column Name ClientID and Datatype - nvarchar(50)
Что я уже пробовал:
Private Sub Autogenerated_Id() Dim Cmd As New SqlClient.SqlCommand Dim Con As New SqlClient.SqlConnection Con.ConnectionString = "Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=dbase;Integrated Security=True;Pooling=False" Cmd.Connection = Con Con.Open() Dim Number As Integer Cmd.CommandText = "Select Max(ClientID) from Client" If IsDBNull(Cmd.ExecuteScalar) Then Number = 2905 Tbcltid.Text = "DGL/C- " & Number Else Number = Cmd.ExecuteScalar + 1 Tbcltid.Text = "DGL/C- " & Number End If Con.Close() End Sub
Member 13174737
Пожалуйста, обратите внимание, что я использовал текст только один раз, пожалуйста, посоветуйте, где я могу найти, что я использовал тот же текст, что и double.
ZurdoDev
"где я могу найти, что я использовал тот же текст, что и double."- сообщение об ошибке скажет вам точно, где.
[no name]
И как ты думаешь, что мы узнаем? У нас нет вашего кода, а у вас есть. Повторное повторение одного и того же снова и снова не даст вам лучших ответов, чем вы уже получили.
Member 13174737
тогда как первую запись принять ?? DGL/C-2905 принимает и сохраняет в базе данных, но DGL/C-2906 не принимает и является ошибкой.
На самом деле я новичок в этом деле vb.net мне нужен ваш совет, чтобы решить эту проблему.
ZurdoDev
1. отвечайте на комментарии. Не добавляйте свои собственные сами по себе.
2. Почему один спас, а другой нет? Потому что один был числом, а другой-нет.
Это так, так просто. Просто отладьте свой код и узнайте, что происходит. Столь простой.
[no name]
Покажите код, который выдает эту ошибку. Как вам уже было сказано. Этот код нигде ничего не сохраняет.
Member 13174737
Система.Которого вызывается invalidcastexception не обработано
Значение HRESULT=-2147467262
Сообщение=преобразование из строки "DGL/C-2905" в тип "Double" недопустимо.
Источник=Microsoft. VisualBasic
Трассировка стека:
в корпорации Microsoft.На языке VisualBasic.CompilerServices.Преобразования.ToDouble (Строковое Значение, NumberFormatInfo NumberFormat)
в корпорации Microsoft.На языке VisualBasic.CompilerServices.Операторы.AddObject(Объект Слева, Объект Справа)
в DSTAR_PROJECT.Клиенты.Autogenerated_Id () in E:\DSTAR-PROJECT\DSTAR-PROJECT\Clients.vb:line 131
в DSTAR_PROJECT.Клиенты.Cmdcltaddnew_Click(отправитель объекта, EventArgs e) in E:\DSTAR-PROJECT\DSTAR-PROJECT\Clients.vb:line 38
в системе.Окна.Формы.Контроль.OnClick(EventArgs e)
в системе.Окна.Формы.Кнопка.OnClick(EventArgs e)
в системе.Окна.Формы.Кнопка.OnMouseUp(MouseEventArgs mevent)
в системе.Окна.Формы.Контроль.WmMouseUp(Message& m, кнопка MouseButtons, Int32 клика)
в системе.Окна.Формы.Контроль.WndProc (Message& m)
в системе.Окна.Формы.ButtonBase.WndProc (Message& m)
в системе.Окна.Формы.Кнопка.WndProc (Message& m)
в системе.Окна.Формы.Контроль.ControlNativeWindow.OnMessage (Message& m)
в системе.Окна.Формы.Контроль.ControlNativeWindow.WndProc (Message& m)
в системе.Окна.Формы.Родное окно.DebuggableCallback(hwnd элемента указателя IntPtr, int32 и глутамат натрия, указателя IntPtr параметр wparam, указателя IntPtr lparam должен)
в системе.Окна.Формы.Небезопасные методы.DispatchMessageW(MSG& msg)
в системе.Окна.Формы.Приложение.ComponentManager.Система.Окна.Формы.Небезопасные методы.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
в системе.Окна.Формы.Приложение.ThreadContext.RunMessageLoopInner(типа int32 причина, ApplicationContext контексте)
в системе.Окна.Формы.Приложение.ThreadContext.RunMessageLoop(типа int32 причина, ApplicationContext контексте)
в корпорации Microsoft.На языке VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
в корпорации Microsoft.На языке VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
в корпорации Microsoft.На языке VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Выполнить(строка[] командной строки)
в DSTAR_PROJECT.Мой.Мое_приложение.Main (String[] Args) в 17d14f5c-a337-4978-8281-53493378c1071.vb: строка 81
в системе.AppDomain. _nExecuteAssembly (сборка RuntimeAssembly, String[] args)
в системе.домен приложений.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
в корпорации Microsoft.VisualStudio.Хостингпроцесс.HostProc.RunUsersAssembly()
в системе.Нарезание резьбы.ThreadHelper.ThreadStart_Context(состояние объекта)
в системе.Нарезание резьбы.Параллельном режиме.RunInternal(параллельном режиме параллельном режиме, ContextCallback обратного вызова, состояние объекта, логическое preserveSyncCtx)
в системе.Нарезание резьбы.Параллельном режиме.Выполнения(в параллельном режиме параллельном режиме, ContextCallback обратного вызова, состояние объекта, логическое preserveSyncCtx)
в системе.Нарезание резьбы.ExecutionContext. Run(ExecutionContext executionContext, ContextCallback callback, состояние объекта)
в системе.Нарезание резьбы.ThreadHelper.ThreadStart()
InnerException: Система.Formatexception версия
Значение HRESULT=-2146233033
Сообщение=входная строка была не в правильном формате.
Источник=Microsoft. VisualBasic
Трассировка стека:
в корпорации Microsoft.На языке VisualBasic.CompilerServices.Преобразования.ParseDouble(Строковое Значение, NumberFormatInfo NumberFormat)
в корпорации Microsoft.На языке VisualBasic.CompilerServices.Преобразования.ToDouble (Строковое Значение, NumberFormatInfo NumberFormat)
Свойство innerexception:
Member 13174737
Number = Cmd. ExecuteScalar + 1
Этот код бросает ошибку
Брошенная " входная строка была не в правильном формате"
Member 13174737
Система Импорта.Данных.Поставщики sqlclient
Клиентам Открытый Класс
Private Sub Clients_Load(ByVal sender As System.Объект, бывал е как система.EventArgs) Обрабатывает MyBase. Load
Me. MdiParent = Form2
Конец Подводной Лодки
Private Sub cmdcltclose_Click(ByVal sender As System.Объект, бывал е как система.EventArgs) обрабатывает cmdcltclose.Щелчок
Если cmdcltclose.Text = "очистить", то
Tbcltid.Текст = ""
Tbcltname.Текст = ""
Tbcltadrs1.Текст = ""
Tbcltadrs2.Текст = ""
Tbcltcity.Текст = ""
Tbcltstate.Текст = ""
Tbcltpin.Текст = ""
Tbcltcountry.Текст = ""
Tbcltphone.Текст = ""
Tbcltfax.Текст = ""
Tbcltemail.Текст = ""
Tbcltpan.Текст = ""
Tbcltgst.Текст = ""
Tbcltcin.Текст = ""
Updwncurrency.Текст = ""
Updowncltcp.Текст = ""
Cmdcltaddnew.Text = " добавить новый"
Cmdcltsearch.поиск текста"
Cmdcltaddnew.Включен = Истина
Cmdcltsearch.Включен = Истина
cmdcltclose.Text = " закрыть"
Ещё
cmdcltclose.Text = " закрыть"
Меня.Рядом()
Конец, Если
Конец Подводной Лодки
Private Sub Cmdcltaddnew_Click(ByVal sender As System.Объект, бывал е как система.EventArgs) Обрабатывает Cmdcltaddnew.Щелчок
Если Cmdcltaddnew.Text = "добавить новый", то
MsgBox("вы хотите добавить нового клиента", MsgBoxStyle.Вопрос: "клиент")
Autogenerated_Id()
Cmdcltaddnew.Text = " сохранить"
Tbcltname.Включен = Истина
Tbcltadrs1.Включен = Истина
Tbcltadrs2.Включен = Истина
Tbcltcity.Включен = Истина
Tbcltstate.Включен = Истина
Tbcltpin.Включен = Истина
Tbcltcountry.Включен = Истина
Tbcltphone.Включен = Истина
Tbcltfax.Включен = Истина
Tbcltemail.Включен = Истина
Tbcltpan.Включен = Истина
Tbcltgst.Включен = Истина
Tbcltcin.Включен = Истина
Updwncurrency.Включен = Истина
Updowncltcp.Включен = Истина
Cmdcltsearch.Enabled = False
cmdcltclose.Text = " очистить"
Ещё
Попробуй
Если Tbcltname.Text = "" Или Tbcltemail.Text = "" Тогда
MsgBox ("Пожалуйста, Заполните Все Поля!", MsgBoxStyle.Восклицание: "клиент")
Ещё
Дим УМК Как Нового Sqlclient Как.Команда sqlcommand
Dim Con Как Новый SqlClient.SqlConnection
Dim Rd Как SqlDataReader
Зубрить.ConnectionString = " источник данных=(localdb)\MSSQLLocalDB; начальный каталог=dbase;Интегрированная безопасность=True;пул = False"
УМК.Подключение = Кон
Кон. Открыт()
УМК.CommandText = " Select ClientName From Client where ClientName = '" & Tbcltname.Текст &"'"
РД = ЦМД.Метода executereader
Если У РД. Есть Деньги, То
MsgBox ("имя клиента" & Tbcltname.Текст & "уже существует", MsgBoxStyle.Критично, " имя клиента")
Ещё
Cmd.CommandText = "Вставить в Client (ClientID, ClientName, Address1, Address2, City, State, PIN, Country, PhoneNo, FaxNo, EmailID, PANNo, GSTNo, CINNo, Currency, CreditPeriod) Values ('" & Tbcltid.Text & "','" & Tbcltname.Text & "','" & Tbcltadrs1.Text & "','" & Tbcltadrs2.Text & "','" & Tbcltcity.Text & "','" & Tbcltstate.Text & "','" & Tbcltpin.Text & "','" & Tbcltcountry.Text & "','" & Tbcltphone.Text & "','" & Tbcltfax.Text & "','" & Tbcltemail.Text & "','" & Tbcltpan.Text & "','" & Tbcltgst.Text & "','" & Tbcltcin.Text & "','" & Updwncurrency.Text & "','" & Updowncltcp.Text & "')"
Зубрить.Закрывать()
Кон. Открыт()
УМК.Метод executenonquery()
MsgBox("Сведения О Клиенте Успешно Сохранены", MsgBoxStyle.Информация, "клиент")
Tbcltid.Текст = ""
Tbcltname.Текст = ""