Ir para conteúdo
Fórum Script Brasil

manuelarroz

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Posts postados por manuelarroz

  1. Bom para quem quer o goste da seguinte função para validar mais de uma extensão,

    Exemplo de uso:

    IsExtension("figura.jpg","jpg,gif,bmp")

    Public Function IsExtension(ByVal MyFile,ByVal sExtensions)
        Dim aExts
        Dim bErro
        Dim iIndex
        aExts = Split(sExtensions,",")
        bErro = True
        
        For iIndex = LBound(aExts) To UBound(aExts)
            If Trim(LCase(aExts(iIndex))) = LCase(Mid(MyFile, InStrRev(MyFile,".")+1)) Then
                bErro = False
            End If
        Next
        
        If Not bErro Then
            IsExtension = True
        Else
            IsExtension = False
        End If
    End Function

    Já agora gostaria de saber se algem gosta o faz jeito a algem!

  2. não entendi o proposita da sua postagem

    É muito simples!

    Quando fizes-te a descripção dos tipos de campos exemplo Varchar(N) onde N pode ir até 8000 não mencionaste um dos sub-tipos novo que tem a partir da versão SQL Server 2005 que é o Varchar(MAX) onde o 'MAX' e mesmo un literal e não um valor númerico. Dai a minha postagem anterior que quis explicar um poco a introducção destes novos tipos de campos no MS SQL Server e já agora alertar que os campos do tipo TEXT vão ser descontinuados.

    Ora bem, sendo assim se tiveres instalado o SQL Server 2005 Express Edition e crias uma Tabela com um campo do tipo Varchar(MAX) e a partir do código que menciono no inicio , e consegires fazer um registo novo na tabela a partir de um pagina asp! Avisa-me porque eu não estou a conseguir com ese tipo de campo Varchar(MAX) se for qualquer outro (exemplo TEXT, Varchar(50), etc...) tudo ok mas com o campo do tipo Varchar(MAX) não me esta a dar !!!

    Ca vai o codigo novamente (experimenta só pra veres!)

    Set oCnn    = Server.CreateObject("ADODB.Connection") ' Set or clean up last object of ADO Connection 
    oCnn.Open "Provider=SQLOLEDB;Data Source=MeuServidor;Initial Catalog=MinhaDB;User ID=eu;Password=secreto;"
    
    Set rsTemp    = Server.CreateObject("ADODB.Recordset")
    
    oCnn.BeginTrans ' Begin a new transaction with the table
    rsTemp.Open "SELECT * FROM minha_tabela", oCnn, adOpenStatic, adLockOptimistic
    rsTemp.AddNew
    
    rsTemp("nome_campo")                = "texto grande...."   ' Campo do tipo Varchar(Max)
    rsTemp.Update
    
    If Err.Number = 0 Then
        oCnn.CommitTrans ' Commit transactions made
    Else
        oCnn.RollbackTrans
    End If

    Muito obrigado pela tua atenção!!! só espero que mais olhos e miolos consigam ver o erro já que eu não sei o que possa ser!

  3. que tale:

    CHAR(N): Armazena N caracteres fixos (até 8.000) no formato não Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo é preenchido com espaços em branco.

    VARCHAR(N): Armazena N caracteres (até 8.000) no formato não Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo não é preenchido.

    TEXT: Armazena caracteres (até 2.147.483.647) no formato não Unicode. Se a quantidade de caracteres armazenada no campo for menor que 2.147.483.647, o resto do campo não é preenchido. Procure não utilizar este tipo de dado diretamente, pois existem funções específicas para trabalhar com este tipo de dado.

    NCHAR(N): Armazena N caracteres fixos (até 4.000) no formato Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo é preenchido com espaços em branco.

    NVARCHAR(N): Armazena N caracteres (até 4.000) no formato Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo não é preenchido.

    NTEXT: Armazena caracteres (até 1.073.741.823) no formato Unicode. Se a quantidade de caracteres armazenada no campo for menor que 1.073.741.823, o resto do campo não é preenchido. Procure não utilizar este tipo de dado diretamente, pois existem funções específicas para trabalhar com este tipo de dado.

    Boa Tarde Pessoal,

    Como é bom ter pessoas sempre atentas a ajudar ao proximo!

    Esses dias estive trabalhando muito e infelizmente meu tempo foi muito corrido, acredito que esses dias terei um tempinho suficiente para passar um pouco do conhecimento que tenho para vocês, Obrigado!

    Para quem não sabe os tipos de dados varchar(max), nvarchar(max) e varbinary(max) são extensões de varchar,nvarchar e varbinary o qual armazenam 2gigabytes (GB). temos também outros tipos de dados o qual eu recomendo que não utilizarem pois serão descontinuados em versões futura do SQL Server conhecidos como text, ntext e image o qual é usado specificando o tamanho máximo. Ao invés de utilizarmos esses tipos de dados que não estaram dísponivel em versões futuras recomendo á todos vocês que utilizem os primeiros tipos de dados o qual citei no ínicio deste artigo, um pequeno exemplo de como utilizarmos esses tipo de dados seria:

    CREATE TABLE TBL01
    (
    ProdutoID INT,
    ProdutoDESC nvarchar(max)
    )
    
    CREATE TABLE TBL02
    (
    ProdutoID INT,
    ProdutoDESC varchar(max)
    )
    
    CREATE TABLE TBL03
    (
    ProdutoID INT,
    ProdutoDESC varbinary(max)
    )

    Agora quém tiver a solucção para o problema exposto fica a minha eterna ajuda p'ra que vier!

  4. Só por curiosidade esse script tem algum Timeout definido?

    isto é :

    Server.ScriptTimeout = 1000

    Eu normalmente uso um javascript e dois campos textarea que se encarrega de filtrar todos os email que posteriormente vão ficar ordenados sem repetidos e quase listos para ser salvos ná tabela o único que o servidor vai ter que validar é se já estão cadastrados ou não na tabela.

    Boa Sorte!

  5. Boas Rapaziada,

    O meu problema é talvez simples de mais para voçes que seguramente já passaram por isso.

    Tenho a necessidade de criar campos do tipo Varchar(Max) por os do tipo Text vão desta para melhor (segum os boatos!!), ok

    Agora vejam um simples codigo que não quer rodar !!

    Set oCnn    = Server.CreateObject("ADODB.Connection") ' Set or clean up last object of ADO Connection 
    oCnn.Open "Provider=SQLOLEDB;Data Source=MeuServidor;Initial Catalog=MinhaDB;User ID=eu;Password=secreto;"
    
    Set rsTemp    = Server.CreateObject("ADODB.Recordset")
    
    oCnn.BeginTrans ' Begin a new transaction with the table
    rsTemp.Open "SELECT * FROM minha_tabela", oCnn, adOpenStatic, adLockOptimistic
    rsTemp.AddNew
    
    rsTemp("nome_campo")                = "texto grande...."   ' Campo do tipo Varchar(Max)
    rsTemp.Update
    
    If Err.Number = 0 Then
        oCnn.CommitTrans ' Commit transactions made
    Else
        oCnn.RollbackTrans
    End If

    O error que da:

    Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) A operação de múltiplos passos OLE DB gerou erros. Verifique cada valor de estado OLE DB, se disponível. Não foi efectuado nenhum trabalho.

    Nota:

    Se troco o tipo de campo por Varchar(50) ou text tudo roda perfeito!!

    Estou a usar SQL Server 2005 e o IIS6 (Windows XP Pro Serv. Pack 3)

    alguém tem alguma dica ?

×
×
  • Criar Novo...