
jothaz
Membros-
Total de itens
430 -
Registro em
-
Última visita
Tudo que jothaz postou
-
Camarada, Tá correto. Porém lembre-se de que a string dentro das "" pode ter espaços em brancos e acentos: " não", " não ", "n ão". Então sua variável deverá ter o mesmo conteúdo senão não entrará no if. Para retirar os brancos inicais e finais use: if(trim(valor) = trim("não ")) then O TRIM vai retira os brancos o que torna o teste mais confiável. t+
-
Princesa, Demorei mais voltei!! :rolleyes: Fiz um primeiro esboço de com criar os controles dos filmes e depois associar filme e pergunta (no caso so a pertunta1) para a gravação no bd. Vou precisar de mais informações para podermos continuar e chegar a tu queres. Segue o primeiro esboço. A idéia é a seguinte na página frm_dados.asp criei os controles filmes e pergunta1 com o mesmo nome por isso são vetores. Ai na res_dado.asp pego request.form e com os dois vetores faço um for e recupero o conteúdo. Segue frm_dados.asp: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <% dim sFilmes, vFilmes, i, vPergunta1, vPergunta2 ' ' 'Simulando massa de dados para teste sFilmes = "Filme01,Filme02,Filme03,Filme04,Filme05,Filme06" ' ' vFilmes = Split(sFilmes,",") redim vPergunta1(UBound(vFilmes)) redim vPergunta2(UBound(vFilmes)) 'for i = 0 to UBound(vFilmes) ' Response.Write vFilmes(i) & " -- " & vPergunta1(i) & " -- " & vPergunta2(2) & "<br>" 'next %> <HTML> <HEAD> <script> function processa(){ alert(document.frm.pergunta1.length); document.frm.action = "res_dados.asp"; document.frm.submit(); } </script> </HEAD> <BODY> <table> <form name="frm" id="frm" method="post"> <input type="hidden" name="filmes" id="filmes" value="<%=sFilmes%>"></input> <%for i = 0 to UBound(vFilmes)%> <tr> <td>Quando você pretende ver <%=vFilmes(i)%>?</td> <td><input name="pergunta1" id="pergunta1" value=""></input></td> </tr> <%next %> <tr> <td colspan="1"> <input type="button" name="btnOk" id="btnOk" value="Ok" onclick="processa();"></input> </td> </tr> </form> </table> </BODY> </HTML> Segue res_dados.asp: <% dim vFilmes, i, vPergunta1, vPergunta2 vFilmes = split(Request.Form("filmes"),",") vPergunta1 = split(Request.Form("pergunta1"),",") for i = 0 to UBound(vFilmes) Response.Write vFilmes(i) & " -- " & vPergunta1(i) & "<br>" next %> Isto é só o começo. Primeiro vamos recuperar os dados depois vamos cuidar do lay-out e de como as perguntas serão apresentadas. t+
-
Camarada, Faça assim: <textarea blablablabla></textarea> Sem espaços entre as tag´s. t+
-
Princesa, Então prometo até quarta postar algo. Hj meu chefe tá no meu pé e tá dificil fazer qualquer coisa. :P t+
-
Princesa, Posso esboçar ou criar uma página com a idéia de como fazer. Porém hoje estou atarefado talvez só vou ter tempo de olhar isso na terça a noite. Se você puder esperar prometo cria algo e postar até lá pela quarta. Enquanto pode ser que alguém do forum já possua alguma pronta e lhe ajudar. t+
-
Camarda, Não pensei muito para responder possa tá falando bobagem.. Ma porque você não cria uma tebela tempóraria com os "10 registros" somente e utilize no reltório? Fica simple e rápido. Caso tenha dificultade post ai. t+
-
Princesa, Não entendi bem o queres mas segue algumas dicas para passar valores entre páginas. Criar session´s - As session´s são variáveis que ficam na memória do server enquanto o browser estiver conectado ou não expiriar o timeout. muito cuidado pois a criação de session´s ocupa espaço na memória do server e pode comprometer a performanceExemplo: <% ' 'Criando uma Session Session("Resp1") = conteúdo Do campo reposta1 ' ' 'Usando uma Session var = Session("Resp1") %> Request.QueryString - parâmetros passados no link e recuperados na próxima página.OBS: Caso você opte por QueryString utilize server.URLEncode("sua_resposta") para manter os assentos. Request.Form - crie um campo hidden e jogue o conteúdo da resposta nele e depois recupere.Agora aoi terminar de escreer o post surgiu um idéia! Porqu você não monta todas a resposta na página e exibe a primeira. E vai exibendo sussessivamente até chegar na última. você pode fazer isso online (sem submeter a página) pelo JavaScript. Pensa ai e post suas dúvidas, esperanças e conflitos..
-
Camarada, Tenta aqui http://support.microsoft.com/kb/209805/pt-br talveez dê uma luz. t+
-
Camaradas, Segue o código de uma sp para pesquisar caracteres no texto de todas sp´s do banco de dados: ALTER PROC PESQUISA_TEXTO_PROC @TEXTO_PROCURADO VARCHAR(50) AS DECLARE @NOME_PROC AS VARCHAR(100), @TEXTO_PROC AS VARCHAR(8000) DECLARE MYCURSOR CURSOR FOR -- --Seleciona todas as stored procedures do banco de dados --efetua JOIN com SYSCOMMENTS para recuperar texto sp SELECT OBJ.NAME, TEXT FROM SYSOBJECTS OBJ INNER JOIN SYSCOMMENTS COM ON OBJ.ID = COM.ID WHERE TYPE = 'P' OPEN MYCURSOR FETCH NEXT FROM MYCURSOR INTO @NOME_PROC,@TEXTO_PROC WHILE @@F ETCH_STATUS = 0 BEGIN -- --Verifica se parâmetro @TEXTO_PROCURADO existe no texto da sp IF CHARINDEX(@TEXTO_PROCURADO,@TEXTO_PROC) > 0 BEGIN PRINT @NOME_PROC END FETCH NEXT FROM MYCURSOR INTO @NOME_PROC,@TEXTO_PROC END CLOSE MYCURSOR DEALLOCATE MYCURSOR GO Considerações: Neste exemplo varremos o banco de dados filtrando as stored procedures e pesquisamos no conteúdo do texto das mesma uma sequência de caracteres passada como parâmetro.Para obtermos o conteúdo do texto da strore procedure efetuamos um JOIN entre as tabelas de sistema: SYSOBJECTS (onde localiza-se o nome e id dos objetos) e SYSCOMMENTS (onde localiza-se o conteúdo do texto da sp). Depois pesquisamos o texto passado como parâmetro no compo de nome TEXT tabela SYSCOMMENTS.Talvez o exemplo não tenha muitas aplicações práticas mas pode ser adaptado e melhorado de acordo com a necessidade de cada umFonte/Autor/linkAUTOR: "Jothaz" Dúvidas, criticas, contribuições, correções e adições serão bem vindas.
-
Camaradas, A procedure apresentada a seguir lista todas a tabelas do banco de dados (utilizando SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE') e conta a respectiva quantidade de registros de cada um. -- CREATE PROC CONTAR_REGISTRO_TODAS_TABELAS AS DECLARE @NOME_DA_TABELA VARCHAR(40), @COMANDO VARCHAR(4000) CREATE TABLE #QTDE_REGISTROS_TABELAS (NOME_TABELA VARCHAR(200), TOTAL_REGISTROS INT) DECLARE MEU_CURSOR CURSOR FOR -- --Seleciona todas as tabelas do BD SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' OPEN MEU_CURSOR FETCH NEXT FROM MEU_CURSOR INTO @NOME_DA_TABELA WHILE @@FETCH_STATUS = 0 BEGIN -- --Monta comando dinâmico para contar o número de registros e --insere em tabela SET @COMANDO = 'INSERT INTO #QTDE_REGISTROS_TABELAS (NOME_TABELA, TOTAL_REGISTROS) SELECT ''' + @NOME_DA_TABELA + ''', COUNT(*) FROM ' + @NOME_DA_TABELA --PRINT @COMANDO EXEC(@COMANDO) FETCH NEXT FROM MEU_CURSOR INTO @NOME_DA_TABELA END CLOSE MEU_CURSOR DEALLOCATE MEU_CURSOR -- SELECT * FROM #QTDE_REGISTROS_TABELAS DROP TABLE #QTDE_REGISTROS_TABELAS -- GO -- Considerações: Este é um emplo simples, caso seja necessário pode-ser passar um parâmetro com o nome da tabela ou mesmo criar um função.Fonte/Autor/linkAUTOR: "Jothaz" Dúvidas, criticas, contribuições, correções e adições serão bem vindas.
-
Camarada, você deu sorte achei este exemplo: Dim fso, drv, s Set fso = CreateObject("Scripting.FileSystemObject") Set drv = fso.GetDrive(fso.GetDriveName(drvPath)) s = "Drive " & UCase(drvPath) & " - " s = s & drv.VolumeName & "<br>" s = s & "Total Space: " & FormatNumber(drv.TotalSize / 1024, 0) s = s & " Kb" & "<br>" s = s & "Free Space: " & FormatNumber(drv.FreeSpace / 1024, 0) s = s & " Kb" & "<br>" Response.Write s Mas fica este também só com curiosidade: Dim FSO Dim Drives Dim Drive Dim S Set FSO = CreateObject("Scripting.FileSystemObject") Set Drives = FSO.Drives%> <table border="1"> <tr> <td>Drive:</td> <td>Espaço total:</td> <td>Espaço livre:</td> <td>Espaço disponivel:</td> </tr> <%For Each Drive In Drives%> <tr> <% If Drive.IsReady Then If DriveTypeNetwork = Drive.DriveType Then S = S & TabStop & Drive.ShareName Else S = S & TabStop & Drive.VolumeName End If %> <td><%=Drive.FileSystem%></td> <td><%=Drive.TotalSize%></td> <td><%=Drive.FreeSpace%></td> <td><%=Drive.AvailableSpace%></td> <% End If%> </tr> <%Next Set FSO = Nothing response.write S%> </table> <%Response.End%> Acho que já tens mateiral para começar a pensar no assunto. t+
-
Camaradas, Vamos estudar alguns exemplos da método REPLACE. O REPLACE substitui caracteres por novos caracteres em um campo ou variável. Como retirar a QUEBRA DE LINHA de um campo CHAR ou VARCHAR: -- DECLARE @STR AS VARCHAR(500) SET @STR = 'Salvador · Terça-feira 10 de abril de 2007 Ano XCI · No 19.383' SELECT REPLACE(@STR,CHAR(13) + Char(10) ,' ') -- Utilizando o REPLACE em campos alfanuméricos -- --Criando variável para exemplo DECLARE @STR AS VARCHAR(500) SET @STR = 'Salvador· [Terça-feira] 10 de abril de 2007 Ano XCI · No 19.383' Substituindo o colchete([) por NULL: -- SELECT REPLACE(@STR,'[','') -- Substituindo o colchete([) por BRANCO: -- SELECT REPLACE(@STR,']',' ') -- Substituindo 2007 por 2001: -- SELECT REPLACE(@STR,'2007','2001') -- Utilizando REPLACE aninhados: -- SELECT REPLACE(REPLACE(@STR,'[',''),']','') -- Substituindo um caracter em campos numéricos: -- --Criando variável para exemplo DECLARE @VALOR AS NUMERIC(8,2) SET @VALOR = 1576.58 -- Substituindo o colchete([) por NULL: -- SELECT REPLACE(@valor,'.',',') -- Substituindo a barra(/) por (-) em campos DATAS -- SELECT REPLACE(CONVERT(VARCHAR(10),GETDATE(),103),'/','-') -- Considerações finais: 1-O REPLACE pode ser utilizado em qualquer tipo de campo (VARCHAR, DATETIME, NUMERIC e etc) e sempre retorná uma string. 2-Pode-se utilzar o REPLACE aninhado como no exemplo e em conjunto com outros comandos, funções e operadores. AUTOR: "Jothaz" Dúvidas, criticas, contribuições, correções e adições serão bem vindas.
-
Camarada, Dê um pesquisada em FSO pois através deste objeto você lê o coneteúdo do diretório e pega a propriedades dos arquivos. Agora como será efetuado esta cadastro? O usuário fará um upload? Seja mais claro quanto ao processo a ser utilzado. t+
-
Camarada, <% v = "1234560" response.write mid(v,1,len(trim(v)) - 1) %>Nem testei o códgo acima mas é por ai... t+
-
Camarada, Acho que tá a solcução: DECLARE @STR AS VARCHAR(500) SET @STR = 'Salvador · Terça-feira 10 de abril de 2007 Ano XCI · No 19.383' SELECT REPLACE(@STR,CHAR(13) + Char(10) ,' ') Dúvidas é só se manifestar. t+
-
Ou mesmo NULL. Excute o código abaixo e post o resultado: RESPONSE.WRITE "|" & RS("ANOTACOES") & "qualquer coisa" Só para vermos o conteúdo de sua tabela. Andreia_sp você se lembra se têm algum tratamento especial para campos TEXT? Eu não me lembro t+
-
Camarada, Pode ser algum procedimento que esta dando um "lock" ( o famoso deadlock) em algum de seu procedimentos. No Enterprise Maneger entre em Manegement/Current Activity/Process info/Lock´s Process ID/Lock Object. Lá você poderá identificar qual usuário, host e processo esta travando. Uma boa dica e utiliza no NOLOCK no FROM: SELECT * FROM SUA_TABELA (NOLOCK) Mas o NOLOCK deve ser usado com parcimônia e prudência. Pesquise no books online por: NOLOCK e DEALOCK . t+
-
Camarada, Pela msg de erro postado: Access denied for user 'ODBC'@'dns1.tarheelhosting.com' (using password: NO) É problema de permissão ou mesmo senha errada. E só mesmo o provedor poderá ajudálo. Para verificar outras string de conexão: http://www.connectionstrings.com/ t+
-
Camarada, Num entendi bem qual o seu problema mas tenta algo assim: <%if sua_condicao then%> ... ... se você quiser abrir um alert <script> alert('erro'); </script> ... ... se você quiser imprimir um msg response.write "erro" ... ...para para a execução response.end else ... ...resto do código ... end if t+
-
Camarada, Nãp conheço ferramenta para monitorar a aplicação ASP. Vou ver aqui com a galera do trampo. Acho complicado porque tem as rede, o servidor IIS e servidor de banco de dados. Dai acho que isso deve ser monitorado separadamente. Se achar alguma novidade post. t+
-
Pra facilitar post o que você têm ai. Assim fica mais fácil criar algo em cima de sua realidade. t+
-
Camarada, Nunca fiz migração do FireBird mas posso tentar ajudá-lo. Bom dê uma olhada no DTS (Data Trasnformation Service) pois através que será efetuada a migração. qualquer duvida é só postar. t+
-
Tamos ai!! :P Massa a solução e muito mais massa é você da o feedback e compartilhar a solução com todos. t+
-
andreia_sp, Maneirissímo o guia de referência sobre as funções. Ótimo trabalho. t+
-
Camarada, Os bancos estão no mesmo servidor? Se estiverem no mesmo servidor faça assim: SELECT * FROM nome_do_banco_remoto.dbo.nome_da_tabela_remota, nome_tabela_local Ai é só efetuar os Joins e Whre´s necessários. Se os bancos estiverem em servidores diferentes você terá de cria um "linked server" no enterprise e ai utilzar a sintaxe acima. t+