DARK__FOXX Ответов: 1

Метод insert -задача разбора значения с параметрами


Привет,
Я переписываю этот пост, потому что застрял на этом коде.
Я пытаюсь преобразовать строку в целое число, а строку-в дату. В EXP_DATE смотрите 1/1/0001 12:00:00 AM в качестве значения по умолчанию,в то время как в ID_CUSTOMER смотрите 0, и мне нужно визуализировать значения текстового поля.
Проблема в том, что они находятся внутри текстовых полей, и во время отладки мне кажется, что он не сохраняет значения внутри текстовых полей.
Одно из двух текстовых полей генерируется автоматически, если я нажимаю кнопку внутри ретранслятора, которая отображает код cleinte и данные названия компании (это отображается внутри метки).


Это мой код.:

Что я уже пробовал:

Public Sub INSERT_EXP_DATE_TABLE()
    MyParm = cmd.Parameters.Add("@ID_CUSTOMER", SqlDbType.Int)
    MyParm.Value = CInt(txt_COD_CUSTOMER.Text)
    MyParm = cmd.Parameters.Add("@COMPANY_NAME", SqlDbType.NVarChar)
    MyParm.Value = lbl_COMPANY_NAME.Text
    MyParm = cmd.Parameters.Add("@EXP_DATE", SqlDbType.Date)
    MyParm.Value = CDate(txt_EXP_DATE.Text)
    Try 
        cmd.Connection = cn
        cmd.CommandText = "LST_INSERT_TABLE_01"
        cmd.CommandType = CommandType.StoredProcedure 
        cmd.Connection.Open()
        cmd.ExecuteNonQuery()
        MsgBox("Date expired conferm", vbInformation)
    Catch ex As Exception
        MsgBox(ex.Message)
    Finally
        cn.Close()
    End Try
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not Me.IsPostBack Then
        Dim data As New Class_LST_READ_TABLE()
        data.READ_TABLE(Repeater1)
    End If
End Sub

Protected Sub btn_FIELD_TABLE_AUTOMATIC_Click(sender As Button, e As EventArgs)
    Me.txt_COD_CUSTOMER.Text = sender.Attributes("data-cod-cli")
    Me.lbl_COMPANY_NAME.Text = sender.Attributes("data-rag-soc")
    Me.txt_EXP_DATE.Text = sender.Attributes("data-exp-date")
End Sub

Protected Sub btn_SAVE_Click(sender As Object, e As EventArgs)
    For Each item As RepeaterItem In Repeater1.Items
        Dim txt_EXP_DATE As TextBox = item.FindControl("TXT_EXP_DATE")
        If txt_EXP_DATE IsNot "" Then
            Dim insert As New Class_LST_INSERT_TABLE
            insert.INSERT_EXP_DATE_TABLE()
            Exit For
        Else
            Dim update As New Class_LST_UPDATE_TABLE
            update.UPDATE_EXP_DATE_TABLE()
            Exit For
        End If
    Next
End Sub

CHill60

Как я уже сказал в вашем предыдущем посте, вы, вероятно, не обрабатываете сообщение на обратной стороне страницы. Поделитесь кодом, вызывающим эту функцию, а также HTML-кодом страницы, содержащей текстовые поля. Можете ли вы также включить свой код загрузки страницы.

DARK__FOXX

(Код перешел к вопросу)

Richard Deeming

Я переместил ваш код на ваш вопрос. В будущем, если вы хотите обновить свой вопрос, Нажмите зеленую ссылку "улучшить вопрос", чтобы отредактировать его.

Richard Deeming

NB: Ваш вопрос помечен тегом ASP.NET, и вы включили то, что выглядит как код позади страницы WebForms.

MsgBox не будет работать в Ан ASP.NET применение. Может быть появиться чтобы работать при отладке кода в Visual Studio, но это только потому, что в данном конкретном случае сервер и клиент являются одним и тем же компьютером.

Как только вы развернете приложение на реальном сервере, произойдет одно из двух. В лучшем случае сценарий, MsgBox вызовет исключение, сообщающее вам, что он не может быть использован из неинтерактивного приложения. Альтернативой является то, что сообщение появится на сервере, где его никто никогда не увидит, и ваш код будет висеть в ожидании администратора, который войдет на ваш сервер и подтвердит потенциально сотни сообщений.

DARK__FOXX

Спасибо за ответ. Я не знал, что Msgbox не работает с ASP.NET,так где же я могу найти какой-нибудь ресурс о том, как отображать ошибку через сервер?

Я только хочу попытаться заставить этот метод работать, я перепробовал их все и старался следовать вашим советам, основанным на моих базовых знаниях.

1 Ответов

Рейтинг:
0

OriginalGriff

Цитата:
Я не знал, что Msgbox не работает с ASP.NET,так где же я могу найти какой-нибудь ресурс о том, как отображать ошибку через сервер?

Проблема в том, что MsgBox делает работа - но она работает на сервере, потому что весь VB-код выполняется там. Поскольку пользователь сидит не на сервере, а на клиенте, он не может видеть никакого сообщения (и фактически не обновляет свою страницу, потому что сервер ждет, когда пользователь, которого там нет, нажмет кнопку "ОК", которую он не видит.)
Похоже, что он работает в разработке, потому что сервер и клиент-это одна и та же машина. В производстве они могут находиться на расстоянии тысяч миль / километров друг от друга.

Вместо этого используйте Окно предупреждения() метод[^] чтобы поговорить с пользователем или элементом управления на Вашей странице.