настраивать исключение - управление исключений VB.NET

Я реализую приложение, которое загружает файл excel, к серверу через один input fileupload, когда зазнается файл, вводятся поля файла excel в BD.

Когда есть поля, которые уже были загружены (дубликаты), он не вводит никакого реестра excel ни (дубликаты, ни не дубликаты), однако, когда есть дублированные реестры наследство сообщение на английском.

Возможно переводить?, также пошли, что id's они дублированы. Как я могу получать их, чтобы вооружать более персонализированное сообщение?

introducir la descripción de la imagen aquí

Public Class Cargador
    Inherits System.Web.UI.Page

    Dim mifichero As HttpPostedFile
    Dim nombreArchivoUsuario As String
    Dim sSheetName As String

    Protected Sub btnAdjuntar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAdjuntar.Click

Try
            If (subirArchivos.HasFile) Then
                'Sube el archivo seleccionado a la carpeta adjuntos del servidor
                subirArchivos.SaveAs(MapPath("./adjuntos/" + subirArchivos.FileName))
                mifichero = subirArchivos.PostedFile
                'Obtiene el nombre del archivo que se ha subido
                nombreArchivoUsuario = mifichero.FileName
                lbmostrardv.visible = True
                lbadjuntardv.visible = False
                lbadjuntar.Text = ""
                lbmostrar.Text = nombreArchivoUsuario
                lbmostrare.Text = ""

                '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
                Dim cn As SqlClient.SqlConnection = New SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("reportes").ConnectionString)
                Dim sql1 As SqlClient.SqlCommand
                Dim dr As SqlClient.SqlDataReader
                cn.Open()
                sql1 = New SqlClient.SqlCommand("select nombreCargador from CHIP where nombreCargador='" & nombreArchivoUsuario & "'", cn)
                dr = sql1.ExecuteReader()
                ''------------ Verifica que el archivo no se haya cargado ----------------------------
                If dr.HasRows Then
                    ClientScript.RegisterStartupScript(Me.GetType(), "alert", "")
                Else

                    Dim cadconex As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                                        "Data Source=C:\Inetpub\wwwroot\01\adjuntos\" & nombreArchivoUsuario & "; Extended Properties=""Excel 8.0;HDR=Yes"""

                    Dim conn As OleDbConnection
                    conn = New OleDbConnection(cadconex)
                    conn.Open()

                    ''OBTENEMOS NOMBRE DE LA PRIMER HOJA
                    Dim dtExcelSchema As DataTable
                    dtExcelSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
                    Dim SheetName As String = dtExcelSchema.Rows(0)("TABLE_NAME").ToString()

                    ''SELECCIONAMOS TODO LO QUE CONTENGA LA PRIMER HOJA
                    Dim comand As OleDbCommand
                    comand = New OleDbCommand("select * from [Hoja1$]", conn)
                    Dim adapter As New OleDbDataAdapter
                    adapter.SelectCommand = comand
                    Dim ds As DataSet
                    ds = New DataSet
                    adapter.Fill(ds)
                    conn.Close()

                    ''INSERTAMOS EN LA BASE DE DATOS LO OBTENIDO DEL EXCEL
                    Dim conectsql As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("reportes").ConnectionString)
                    conectsql.Open()
                    Dim importar As SqlBulkCopy

                    importar = New SqlBulkCopy(conectsql)
                    importar.DestinationTableName = "CHIP"
                    importar.WriteToServer(ds.Tables(0))
                    lbimportar.Text = "Se adjuntaron e insertaron correctamente los datos del archivo seleccionado"
                    conectsql.Close()



                    '------------ Bandera de control para que no se carguen archivos de nueva cuenta ----------------------------
                    Dim cn2 As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("reportes").ConnectionString)
                    Dim sql2 As SqlClient.SqlCommand
                    cn2.Open()
                    sql2 = New SqlClient.SqlCommand("update dbo.CHIP set nombreCargador='" + nombreArchivoUsuario + "' WHERE nombreCargador is null ", cn2)
                    sql2.ExecuteNonQuery()
                    cn2.Close()
                End If
                dr.Close()
                cn.Close()
                'Catch ex As Exception
                'System.Web.HttpContext.Current.Response.Write("
" & ex.Message & "
") 'End Try ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Else lbmostrardv.visible = False lbadjuntardv.visible = True lbadjuntar.Text = "Error al cargar el archivo. Asegurese de que sea un archivo válido" lbmostrar.Text = "" lbmostrare.Text = "" End If Catch ex As Exception System.Web.HttpContext.Current.Response.Write("
" & ex.Message & "
") lbmostrar.Text = ex.ToString() End Try End Sub End Class

1
задан 17.04.2016, 22:53
2 ответа

PodrГ-схвати размещать следующие инструкции:

Catch ex As Exception
    Thread.CurrentThread.CurrentCulture = New CultureInfo("es-MX")
    Thread.CurrentThread.CurrentUICulture = New CultureInfo("es-MX")

    lbmostrar.Text = ex.Message.ToString()
End Try  

ты Должен иметь в виду, что ты должен считать установленным пакет языков.NET Framework для того, чтобы он показал тебя на необходимом языке.

0
ответ дан 24.11.2019, 14:35

экс-. ToString () будет возвращать тебе все как таковое исключение, informaciГіn, в котором пользователь не нуждается, это подает тебя, но не в пользователю.

Тогда я предпочитаю делать это.

Throw New Exception("Aqui tu texto personalizado : " + ex.Message)

экс-. Message будет показывать ему пользователя, который не удался, что в этом случае был бы "cannot insert, удвойся и т.д."

Тема языка зависит от CurrentUICulture

1
ответ дан 24.11.2019, 14:35
  • 1
    и какой-то intruccion есть, чтобы изменять CurrentUICulture? –  Ivxn 16.04.2016, 00:13
  • 2
    Thread. CurrentThread. CurrentUICulture = Нев Культуреинфо (он-) –  Archer_A 16.04.2016, 00:14
  • 3
    я разместил intruccion, но он не меняет текст английского языка в espa и # 241; ol, это инструкции, которые размещает:::::::: Thread. CurrentThread. CurrentCulture = Нев Культуреинфо (" он - MX") Thread. CurrentThread. CurrentUICulture = Нев Культуреинфо (" он - MX") –  Ivxn 16.04.2016, 01:12

Теги

Похожие вопросы