HI,
esse erro aconteceu quando fui obter os dados de um editor de texto após o postback em um form no Asp.Net. Já tinha percebido que esse erro só ocorria quando o texto do editor era formatado (estava em negrito, tinha cor, etc.)
Esse formulário é um pouco diferente, já que o editor de texto era uma div, então eu tive que jogar o conteúdo da div em um input do tipo hidden para poder pegar seu valor no codebinhide.
Pesquisando no google, encontrei essa solução
A potentially dangerous Request.Form value was detected from the cliente
http://stackoverflow.com/questions/81991/a-potentially-dangerous-request-form-value-was-detected-from-the-cliente
Pegue nesse post
http://stackoverflow.com/questions/81991/a-potentially-dangerous-request-form-value-was-detected-from-the-client/13589607#13589607
Fiquem na Paz!!!
domingo, dezembro 08, 2013
domingo, novembro 24, 2013
Evitando exibição do ModalPopupExtender ao carregar página no Asp.Net
HI,
Quando se utiliza o ModalPopupExtender do Ajax Control Toolkit para exibir um diálogo modal, acontece um efeito inconveniente, o diálogo é exibido rapidamente quando a página é carregada e some em seguida.
Também acontece um outro probleminha. Vamos supor que ao fechar o diálogo é executada alguma rotina, e nessa rotina você faz com que seja exibida uma mensagem de alerta em javascript, o diálogo não some, continua sendo exibido, mesmo tendo executando o comando Hide do ModalPopupExtender.
Para resolver esses dois probleminha tem atribuir o estilo display:none; ao Panel associado ao ModalPopup.
Achei aqui essa solução:
ASP.NET ModalPopupExtender appears when calling Alert JavaScript function
http://stackoverflow.com/questions/12814062/asp-net-modalpopupextender-appears-when-calling-alert-javascript-function
Tem esse também
Hide asp:panel used with a modalpopupextender on pageLoad
http://stackoverflow.com/questions/5096322/hide-asppanel-used-with-a-modalpopupextender-on-pageload
CSS: Style="display:none;"
Fiquem na Paz!!!!
Quando se utiliza o ModalPopupExtender do Ajax Control Toolkit para exibir um diálogo modal, acontece um efeito inconveniente, o diálogo é exibido rapidamente quando a página é carregada e some em seguida.
Também acontece um outro probleminha. Vamos supor que ao fechar o diálogo é executada alguma rotina, e nessa rotina você faz com que seja exibida uma mensagem de alerta em javascript, o diálogo não some, continua sendo exibido, mesmo tendo executando o comando Hide do ModalPopupExtender.
Para resolver esses dois probleminha tem atribuir o estilo display:none; ao Panel associado ao ModalPopup.
Achei aqui essa solução:
ASP.NET ModalPopupExtender appears when calling Alert JavaScript function
http://stackoverflow.com/questions/12814062/asp-net-modalpopupextender-appears-when-calling-alert-javascript-function
Tem esse também
Hide asp:panel used with a modalpopupextender on pageLoad
http://stackoverflow.com/questions/5096322/hide-asppanel-used-with-a-modalpopupextender-on-pageload
CSS: Style="display:none;"
Fiquem na Paz!!!!
segunda-feira, novembro 18, 2013
Temas da Bíblia para Android
HI,
Aplicativo para Android que fiz, graças a Deus.
Descrição
Temas da Bíblia reúne todas as promessas de Deus que estão na sua Palavra.
As promessas estão divididas por Tema.
É possível enviar um versículo para alguém por SMS ou E-mail. Ou copiar o seu texto para que seja colado no Whatsapp por Exemplo. Mas o aplicativo não envia a mensagem, é aberto o programa que o usuário escolher, que esteja instalado no smartphone.
Site
http://programmerctrl.com/TemasDaBiblia.aspx
Download
https://play.google.com/store/apps/details?id=programmerctrl.sistemas.temasdabiblia
Fiquem na Paz!!!
Aplicativo para Android que fiz, graças a Deus.
Descrição
Temas da Bíblia reúne todas as promessas de Deus que estão na sua Palavra.
As promessas estão divididas por Tema.
É possível enviar um versículo para alguém por SMS ou E-mail. Ou copiar o seu texto para que seja colado no Whatsapp por Exemplo. Mas o aplicativo não envia a mensagem, é aberto o programa que o usuário escolher, que esteja instalado no smartphone.
Site
http://programmerctrl.com/TemasDaBiblia.aspx
Download
https://play.google.com/store/apps/details?id=programmerctrl.sistemas.temasdabiblia
Fiquem na Paz!!!
Marcadores:
android,
e-mail,
sms,
temas da bíblia,
versículos
Centralizar horizontalmente o banner do AdMod no Android
HI,
Incluí o esquema de publicidade do AdMod em um aplicativo que acabei de criar, mas só que na tela do S4 estava ficando alinhado à esquerda. Para centralizar na horizontal usei essa dica:
How do I make SMART_BANNER ads from admob fill correctly in Android?
http://stackoverflow.com/questions/17991497/how-do-i-make-smart-banner-ads-from-admob-fill-correctly-in-android/18005773#18005773
Fiquem na Paz!!!!
Incluí o esquema de publicidade do AdMod em um aplicativo que acabei de criar, mas só que na tela do S4 estava ficando alinhado à esquerda. Para centralizar na horizontal usei essa dica:
How do I make SMART_BANNER ads from admob fill correctly in Android?
http://stackoverflow.com/questions/17991497/how-do-i-make-smart-banner-ads-from-admob-fill-correctly-in-android/18005773#18005773
Fiquem na Paz!!!!
Marcadores:
admob,
android,
banner,
centralizar,
horizontal
quarta-feira, novembro 13, 2013
Copiando texto para o Clipboard no Android
HI,
Precisei dessa dica para capturar um texto para a área de transferência do Android.
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
clipboard.setText(meu_texto);
Android: Copy to clipboard selected text from a TextView
http://stackoverflow.com/questions/6624763/android-copy-to-clipboard-selected-text-from-a-textview/6624816#6624816
Fiquem na Paz!!!
Precisei dessa dica para capturar um texto para a área de transferência do Android.
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
clipboard.setText(meu_texto);
Android: Copy to clipboard selected text from a TextView
http://stackoverflow.com/questions/6624763/android-copy-to-clipboard-selected-text-from-a-textview/6624816#6624816
Fiquem na Paz!!!
quinta-feira, setembro 12, 2013
Erro java.lang.NumberFormatException: NaN no Android
HI,
O problema aconteceu nessa função para arredondar as casas decimais de um número que utilizo no android
public static double round(double d, int decimalPlace){
// see the Javadoc about why we use a String in the constructor
// http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigDecimal.html#BigDecimal(double)
BigDecimal bd = new BigDecimal(Double.toString(d));
bd = bd.setScale(decimalPlace,BigDecimal.ROUND_HALF_UP);
return bd.doubleValue();
}
Fui utilizar e a aplicação deu esse erro java.lang.NumberFormatException: NaN
Pesquisando, descobrir que era por que na primeira utilização da rotina o resultado era zero. É uma rotina para calcular a distância em metros de duas coordenadas. E eu só vou gravar se for maior que dez.
Resolvi testando se antes o valor era zerado
double aux_metros = 0;
if ((6366000*tt) > 0){
aux_metros = round(6366000*tt, 2);
}
Achei aqui a causa do problema
Exception in thread “main” java.lang.NumberFormatException: Infinite or NaN
http://stackoverflow.com/questions/14371003/exception-in-thread-main-java-lang-numberformatexception-infinite-or-nan/14371028#14371028
Fiquem na Paz!!!
O problema aconteceu nessa função para arredondar as casas decimais de um número que utilizo no android
public static double round(double d, int decimalPlace){
// see the Javadoc about why we use a String in the constructor
// http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigDecimal.html#BigDecimal(double)
BigDecimal bd = new BigDecimal(Double.toString(d));
bd = bd.setScale(decimalPlace,BigDecimal.ROUND_HALF_UP);
return bd.doubleValue();
}
Fui utilizar e a aplicação deu esse erro java.lang.NumberFormatException: NaN
Pesquisando, descobrir que era por que na primeira utilização da rotina o resultado era zero. É uma rotina para calcular a distância em metros de duas coordenadas. E eu só vou gravar se for maior que dez.
Resolvi testando se antes o valor era zerado
double aux_metros = 0;
if ((6366000*tt) > 0){
aux_metros = round(6366000*tt, 2);
}
Achei aqui a causa do problema
Exception in thread “main” java.lang.NumberFormatException: Infinite or NaN
http://stackoverflow.com/questions/14371003/exception-in-thread-main-java-lang-numberformatexception-infinite-or-nan/14371028#14371028
Fiquem na Paz!!!
Marcadores:
android,
arredondar,
decimal,
erro,
NaN
quarta-feira, setembro 11, 2013
Esconder um botão no Android
HI,
Antes de conhecer essa dica eu apenas desabilitava o componente, Enable=false, mas agora o componente some da tela, fica invisível.
Achei aqui
How can I remove a button or make it invisible in Android?
http://stackoverflow.com/questions/4127725/how-can-i-remove-a-button-or-make-it-invisible-in-android/4127830#4127830
Se utilizar a opção INVISIBLE, o botão não some da tela, fica apenas transparente.
Não serve apenas para o botão.
Fiquem na Paz
Antes de conhecer essa dica eu apenas desabilitava o componente, Enable=false, mas agora o componente some da tela, fica invisível.
Achei aqui
How can I remove a button or make it invisible in Android?
http://stackoverflow.com/questions/4127725/how-can-i-remove-a-button-or-make-it-invisible-in-android/4127830#4127830
Set button visibility to GONE (button will be completely "removed" -- the buttons space will be available for another widgets) or INVISIBLE (button will became "transparent" -- its space will not be available for another widgets):
View b = findViewById(R.id.button);
b.setVisibility(View.GONE);
or in xml:
Se utilizar a opção INVISIBLE, o botão não some da tela, fica apenas transparente.
Não serve apenas para o botão.
Fiquem na Paz
Marcadores:
android,
botão,
componente,
esconder,
invisível
quinta-feira, setembro 05, 2013
Instalando o Zeos Lib (mysql) no Delphi 7
HI,
Já tinha a um versão do ZeosLib instalada no meu Delphi 7, mas resolvi atualizar para conectar o banco mysql onde meu site está hospedado.
Utilizei essa página para instala-lo.
Zeos (mysql) no Delphi 7
http://marciorossato.meucanal.com.br/zeos-mysql-no-delphi-7/
Mas não foi essa moleza toda. Para configurar o componente tiver que achar uma dll compatível com o banco de dados aqui no meu notebook. A dll libmysql que estava na pasta bin da instalação do MySql não serviu. Usei a que estava na pasta do MySQL Workbench que eu havia instalado aqui.
A libmysql.dll é atribuída na propriedade LibraryLocation do componente de conexão.
Fiquem na Paz!!!
Já tinha a um versão do ZeosLib instalada no meu Delphi 7, mas resolvi atualizar para conectar o banco mysql onde meu site está hospedado.
Utilizei essa página para instala-lo.
Zeos (mysql) no Delphi 7
http://marciorossato.meucanal.com.br/zeos-mysql-no-delphi-7/
Mas não foi essa moleza toda. Para configurar o componente tiver que achar uma dll compatível com o banco de dados aqui no meu notebook. A dll libmysql que estava na pasta bin da instalação do MySql não serviu. Usei a que estava na pasta do MySQL Workbench que eu havia instalado aqui.
A libmysql.dll é atribuída na propriedade LibraryLocation do componente de conexão.
Fiquem na Paz!!!
The message received from the server could not be parsed
HI,
Pense num problema que deu dor de cabeça.
No meu caso o problema foi por causa que implementei uma rotina para gerar um arquivo pdf para download usando o Crystal Reports.
Esse é o trecho código para gerar o relatório no formato PDF para download
// Stop buffering the response
Response.Buffer = false;
// Clear the response content and headers
Response.ClearContent();
Response.ClearHeaders();
// Export the Report to Response stream in PDF format and file name Customers
cryRpt.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Response, true, "ocorrencia_id" + _codigosoc);
// There are other format options available such as Word, Excel, CVS, and HTML in the ExportFormatType Enum given by crystal reports
O problema é que esse código dá conflito com o Ajax do Asp.Net.
A solução é registrar o componente que está acionando o código em questão
ScriptManager.GetCurrent(this).RegisterPostBackControl(btImprimir);
Utilizar esse comando no Page_Load.
Fiquem na Paz!!!
Pense num problema que deu dor de cabeça.
No meu caso o problema foi por causa que implementei uma rotina para gerar um arquivo pdf para download usando o Crystal Reports.
Esse é o trecho código para gerar o relatório no formato PDF para download
// Stop buffering the response
Response.Buffer = false;
// Clear the response content and headers
Response.ClearContent();
Response.ClearHeaders();
// Export the Report to Response stream in PDF format and file name Customers
cryRpt.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Response, true, "ocorrencia_id" + _codigosoc);
// There are other format options available such as Word, Excel, CVS, and HTML in the ExportFormatType Enum given by crystal reports
O problema é que esse código dá conflito com o Ajax do Asp.Net.
A solução é registrar o componente que está acionando o código em questão
ScriptManager.GetCurrent(this).RegisterPostBackControl(btImprimir);
Utilizar esse comando no Page_Load.
Fiquem na Paz!!!
quarta-feira, setembro 04, 2013
Detectando ser o browser está com foco ou minimizado utilizando javascript
HI,
Precisei implementar esse código em um exemplo de chat que estou modificando. Foi para executar um som ao chegar mensagem caso ele esteja sem o foco ou minimizado.
Utilizei esse código
Quando o browser perder o foco a variável isactive vai receber false.
Achei aqui
How to play a notification alert sound when the browser window is minimized and when a notification comes from the server
http://stackoverflow.com/questions/12653370/how-to-play-a-notification-alert-sound-when-the-browser-window-is-minimized-and/12653751#12653751
Mais sobre Focus/Blur
Focus/blur methods and events
http://javascript.info/tutorial/focus
Fiquem na Paz!!!
Precisei implementar esse código em um exemplo de chat que estou modificando. Foi para executar um som ao chegar mensagem caso ele esteja sem o foco ou minimizado.
Utilizei esse código
var isactive = false;
function playSound(){
if (isactive) return;
playWav...;
}
onNotificaitonComes = playSound;
$(window).focus(function(){
isactive = true;
}).blur(function(){
isactive = false;
});
Quando o browser perder o foco a variável isactive vai receber false.
Achei aqui
How to play a notification alert sound when the browser window is minimized and when a notification comes from the server
http://stackoverflow.com/questions/12653370/how-to-play-a-notification-alert-sound-when-the-browser-window-is-minimized-and/12653751#12653751
Mais sobre Focus/Blur
Focus/blur methods and events
http://javascript.info/tutorial/focus
Fiquem na Paz!!!
Marcadores:
browser,
detectar,
estado,
foco,
javascript,
minimizado
Executar arquivo de áudio com o HTML5
HI,
Estou me aventurando agora a aprender o SignalR e no aprendizado estou modificando um exemplo de chat que peguei. Decidi incluir um recurso de executar um som quando chegar uma nova mensagem privada ou se o navegador estiver minimizado ou sem o foco.
Para executar um arquivo de áudio usei essa dica
Sound effects in JavaScript / HTML5
http://stackoverflow.com/questions/1933969/sound-effects-in-javascript-html5/1934325#1934325
Coloquei pra tocar o som do ICQ, hehehe
http://www.4shared.com/mp3/XTfFeHVi/ICQ_message_sound.html
Fiquem na Paz!!!
Estou me aventurando agora a aprender o SignalR e no aprendizado estou modificando um exemplo de chat que peguei. Decidi incluir um recurso de executar um som quando chegar uma nova mensagem privada ou se o navegador estiver minimizado ou sem o foco.
Para executar um arquivo de áudio usei essa dica
Sound effects in JavaScript / HTML5
http://stackoverflow.com/questions/1933969/sound-effects-in-javascript-html5/1934325#1934325
Coloquei pra tocar o som do ICQ, hehehe
http://www.4shared.com/mp3/XTfFeHVi/ICQ_message_sound.html
Fiquem na Paz!!!
Manipular o atributo Class de um elemento HTML do lado servidor no Asp.Net
HI,
Precisei adicionar uma classe a uma tag li de acordo com o tipo de um determinado campo em um componente de repetição do Asp.Net.
Exemplo: Se o campo tivesse valor F o class deveria ser comment senão deveria ser comment reply.
Na parte visual coloquei a tag li como sendo runnet="server"
< li id="li_tipo_resposta" runat="server" >
E no ItemDataBound do controle Repeater coloquei esse código
protected void repeatRespostas_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string _tipo_resposta = Convert.ToString(DataBinder.Eval(e.Item.DataItem, "tipo_resposta"));
if (_tipo_resposta.Equals("F"))
{
((HtmlControl)e.Item.FindControl("li_tipo_resposta")).Attributes.Add("class", "comment");
}
else
{
((HtmlControl)e.Item.FindControl("li_tipo_resposta")).Attributes.Add("class", "comment reply");
}
}
}
A tag é localizada e seu atributo Class é adicionado.
Implementei esse código com base nessa página
C# - How to change HTML elements atributes
http://stackoverflow.com/questions/186918/c-sharp-how-to-change-html-elements-attributes/10795178#10795178
Fiquem na Paz!!!!
Precisei adicionar uma classe a uma tag li de acordo com o tipo de um determinado campo em um componente de repetição do Asp.Net.
Exemplo: Se o campo tivesse valor F o class deveria ser comment senão deveria ser comment reply.
Na parte visual coloquei a tag li como sendo runnet="server"
< li id="li_tipo_resposta" runat="server" >
E no ItemDataBound do controle Repeater coloquei esse código
protected void repeatRespostas_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string _tipo_resposta = Convert.ToString(DataBinder.Eval(e.Item.DataItem, "tipo_resposta"));
if (_tipo_resposta.Equals("F"))
{
((HtmlControl)e.Item.FindControl("li_tipo_resposta")).Attributes.Add("class", "comment");
}
else
{
((HtmlControl)e.Item.FindControl("li_tipo_resposta")).Attributes.Add("class", "comment reply");
}
}
}
A tag é localizada e seu atributo Class é adicionado.
Implementei esse código com base nessa página
C# - How to change HTML elements atributes
http://stackoverflow.com/questions/186918/c-sharp-how-to-change-html-elements-attributes/10795178#10795178
Fiquem na Paz!!!!
segunda-feira, setembro 02, 2013
Criar um diálogo sem a barra de título no Android
HI,
Precisei fazer isso pra ganhar um pouco de espaço pra colocar mais um componente.
Para não exibir o título no diálogo:
Dialog dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
Achei aqui:
Android: How to create a Dialog without a title?
http://stackoverflow.com/questions/2644134/android-how-to-create-a-dialog-without-a-title/3407871#3407871
Fiquem na Paz!!!
Precisei fazer isso pra ganhar um pouco de espaço pra colocar mais um componente.
Para não exibir o título no diálogo:
Dialog dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
Achei aqui:
Android: How to create a Dialog without a title?
http://stackoverflow.com/questions/2644134/android-how-to-create-a-dialog-without-a-title/3407871#3407871
Fiquem na Paz!!!
quinta-feira, agosto 29, 2013
no site configured at this address
HI,
Ao acessar o site do Google no Internet Explorer 10 me deparei com essa mensagem no browser: no site configured at this address. Mas só aparecia no domínio .br quando acessava o google.com, acessava normal.
Pesquisando no google, achei essa solução
How can I fix a “No site configured at this address” error?
http://superuser.com/questions/592161/how-can-i-fix-a-no-site-configured-at-this-address-error
Tem que limpar o cache do domínio que tá com problema
Fiquem na Paz!!!
Ao acessar o site do Google no Internet Explorer 10 me deparei com essa mensagem no browser: no site configured at this address. Mas só aparecia no domínio .br quando acessava o google.com, acessava normal.
Pesquisando no google, achei essa solução
How can I fix a “No site configured at this address” error?
http://superuser.com/questions/592161/how-can-i-fix-a-no-site-configured-at-this-address-error
Tem que limpar o cache do domínio que tá com problema
Fiquem na Paz!!!
Exibindo tooltip utilizando o Bootsrap
HI,
Para deixar o formulário mais elegante, resolvi utilizar o recurso de tooltip do bootstrap.
Tentei habilitar somente com o help do bootstrap, mas não consegui. Acabei recorrendo ao google pela (milésima x 10) vez.
Achei a solução aqui:
Bootstrap tooltips not working
http://stackoverflow.com/questions/9446318/bootstrap-tooltips-not-working
Ficou assim meu código
Troquei o rel='tooltip' por data-toggle='tooltip'
PS: Eu utilizo no Asp.Net
Fiquem na Paz!!!!
Para deixar o formulário mais elegante, resolvi utilizar o recurso de tooltip do bootstrap.
Tentei habilitar somente com o help do bootstrap, mas não consegui. Acabei recorrendo ao google pela (milésima x 10) vez.
Achei a solução aqui:
Bootstrap tooltips not working
http://stackoverflow.com/questions/9446318/bootstrap-tooltips-not-working
Ficou assim meu código
Troquei o rel='tooltip' por data-toggle='tooltip'
PS: Eu utilizo no Asp.Net
Fiquem na Paz!!!!
terça-feira, agosto 27, 2013
Algumas operações com data no Firebird
HI,
Algumas operações que uso. Hoje mesmo precisei retornar a semana do ano de uma data, saber a data do primeiro e último dia da semana.
Por exemplo, hoje são 27/08/2013. O dia da semana é 35. A data do primeiro dia da semana 35 é 25/08/2013 e o último é 31/08/2013.
Para retornar a semana do ano com base em uma data
trunc((EXTRACT(YEARDAY FROM (data - EXTRACT(WEEKDAY FROM data-1) + 3)) - EXTRACT(WEEKDAY FROM (data - EXTRACT(WEEKDAY FROM data-1) + 3)-1) + 7) / 7e0) + 1
Se quiser a data Atual: current_date
Se quiser converter uma string para data: cast('08/27/2013' as date)
Data do primeiro dia da semana:
(current_date - EXTRACT(WEEKDAY FROM current_date))
Data do último dia da semana:
(current_date + (6 - EXTRACT(WEEKDAY FROM current_date)))
Base da lógica para pegar a semana do ano
http://www.volny.cz/iprenosil/interbase/ip_ib_code_timestamp.htm
Funções
Day of Week
First/last day of month
Number of days in month
Week of year
Is Leap Year ?
Fiquem na Paz!!!
Algumas operações que uso. Hoje mesmo precisei retornar a semana do ano de uma data, saber a data do primeiro e último dia da semana.
Por exemplo, hoje são 27/08/2013. O dia da semana é 35. A data do primeiro dia da semana 35 é 25/08/2013 e o último é 31/08/2013.
Para retornar a semana do ano com base em uma data
trunc((EXTRACT(YEARDAY FROM (data - EXTRACT(WEEKDAY FROM data-1) + 3)) - EXTRACT(WEEKDAY FROM (data - EXTRACT(WEEKDAY FROM data-1) + 3)-1) + 7) / 7e0) + 1
Se quiser a data Atual: current_date
Se quiser converter uma string para data: cast('08/27/2013' as date)
Data do primeiro dia da semana:
(current_date - EXTRACT(WEEKDAY FROM current_date))
Data do último dia da semana:
(current_date + (6 - EXTRACT(WEEKDAY FROM current_date)))
Base da lógica para pegar a semana do ano
http://www.volny.cz/iprenosil/interbase/ip_ib_code_timestamp.htm
Funções
Day of Week
First/last day of month
Number of days in month
Week of year
Is Leap Year ?
Fiquem na Paz!!!
Marcadores:
data,
Date functions,
dia da semana,
firebird,
operações,
semana do ano
segunda-feira, agosto 26, 2013
Mostrar um mapa do Google em um modal criado com Twitter Bootstrap
HI,
Decidi utilizar uma janela modal para exibir um mapa do google. O botão que aciona a janela modal fica em um GridView.
Vou colocar aqui os links que me ajudaram a criar esse recurso e o código que consegui montar.
ASP.NET: Display GridView Row Details in Modal Popup using Twitter Bootstrap
http://websitedevelopmentny.org/blog/wievblog.php?id=4673
Modals bootstrap-modal.js
http://getbootstrap.com/2.3.2/javascript.html#modals
Adding a Google Map to your website
https://developers.google.com/maps/tutorials/fundamentals/adding-a-google-map
Showing a Google Map in a modal created with Twitter Bootstrap
http://stackoverflow.com/questions/11742839/showing-a-google-map-in-a-modal-created-with-twitter-bootstrap
Meu Código
Decidi utilizar uma janela modal para exibir um mapa do google. O botão que aciona a janela modal fica em um GridView.
Vou colocar aqui os links que me ajudaram a criar esse recurso e o código que consegui montar.
ASP.NET: Display GridView Row Details in Modal Popup using Twitter Bootstrap
http://websitedevelopmentny.org/blog/wievblog.php?id=4673
Modals bootstrap-modal.js
http://getbootstrap.com/2.3.2/javascript.html#modals
Adding a Google Map to your website
https://developers.google.com/maps/tutorials/fundamentals/adding-a-google-map
Showing a Google Map in a modal created with Twitter Bootstrap
http://stackoverflow.com/questions/11742839/showing-a-google-map-in-a-modal-created-with-twitter-bootstrap
Meu Código
Fiquem na Paz!!!
quinta-feira, agosto 22, 2013
Utilizar variável de uma classe de sessão no parâmetro do GridView
HI,
Utilizar um sessão como parâmetro do GridView é moleza, o próprio asp.net cuida disso, de pegar o valor armazenado na session. Mas, e quando você implementa uma classe de sessão e precisa utilizar uma propriedade no parâmetro, como é que faz? Fiz essa pergunta ao google ontem.
Achei a resposta aqui:
Custom Parameters for 'SelectParameters' collection using Object Data Source
http://forums.asp.net/t/1209030.aspx/1
Create a parameter with its source set to none (in the designer)
< SelectParameters >
< asp:Parameter Name="userId" Type="Int32" />
</ SelectParameters >
and in the code you assing the values to the selectParameter with
ObjectDataSource1.SelectParameters["userId"].DefaultValue = SessionManager.StoredNameValue;
Fiquem na Paz!!!
Utilizar um sessão como parâmetro do GridView é moleza, o próprio asp.net cuida disso, de pegar o valor armazenado na session. Mas, e quando você implementa uma classe de sessão e precisa utilizar uma propriedade no parâmetro, como é que faz? Fiz essa pergunta ao google ontem.
Achei a resposta aqui:
Custom Parameters for 'SelectParameters' collection using Object Data Source
http://forums.asp.net/t/1209030.aspx/1
Create a parameter with its source set to none (in the designer)
< SelectParameters >
< asp:Parameter Name="userId" Type="Int32" />
</ SelectParameters >
and in the code you assing the values to the selectParameter with
ObjectDataSource1.SelectParameters["userId"].DefaultValue = SessionManager.StoredNameValue;
Fiquem na Paz!!!
Acessar variável de sessão a partir de uma classe no Asp.Net
HI,
Já tem um tempinho que comecei a usar uma classe de sessão em meus projetos. Tinha guardado o link e agora estou publicando onde achei.
Quando eu precisei acessar uma variável de sessão de dentro de uma classe eu consegui com essa dica:
How to access session variables from any class in ASP.NET?
http://stackoverflow.com/questions/621549/how-to-access-session-variables-from-any-class-in-asp-net
Não tem mistério para implementar essa classe session e fica bem mais organizado o código, por que você sabe quais são todas as variáveis de sessão utilizadas no seu projeto.
Fazendo uma busca hoje por mais informações, achei essa página:
Criando uma simples Classe Session em asp.net c#
http://webmaicon.wordpress.com/2009/01/15/criando-uma-simples-classe-session-em-aspnet-c/
Fiquem na Paz!!!
Já tem um tempinho que comecei a usar uma classe de sessão em meus projetos. Tinha guardado o link e agora estou publicando onde achei.
Quando eu precisei acessar uma variável de sessão de dentro de uma classe eu consegui com essa dica:
How to access session variables from any class in ASP.NET?
http://stackoverflow.com/questions/621549/how-to-access-session-variables-from-any-class-in-asp-net
Não tem mistério para implementar essa classe session e fica bem mais organizado o código, por que você sabe quais são todas as variáveis de sessão utilizadas no seu projeto.
Fazendo uma busca hoje por mais informações, achei essa página:
Criando uma simples Classe Session em asp.net c#
http://webmaicon.wordpress.com/2009/01/15/criando-uma-simples-classe-session-em-aspnet-c/
Fiquem na Paz!!!
segunda-feira, agosto 19, 2013
Formulário com múltiplas colunas no Bootstrap
HI,
Segue a dica de um layout para formulário com múltiplas no Bootstrap.
Twitter Bootstrap: Multiple Columns Form Layout Examples
http://limcheekin.blogspot.com.br/2012/08/twitter-bootstrap-multiple-columns-form.html
O formulário que criei deu de 10 a zero no que eu tinha feito antes, hehehe.
Fiquem na Paz!!!
Segue a dica de um layout para formulário com múltiplas no Bootstrap.
Twitter Bootstrap: Multiple Columns Form Layout Examples
http://limcheekin.blogspot.com.br/2012/08/twitter-bootstrap-multiple-columns-form.html
O formulário que criei deu de 10 a zero no que eu tinha feito antes, hehehe.
Fiquem na Paz!!!
Marcadores:
bootstratp,
formulário,
layout,
múltipla coluna
Input mask for Bootstrap
HI,
Da mesma maneira que resolvi não utilizar o Datepicket do Ajax Toolkit, também resolvi não utilizar o MaskedEdit.
Achei esse para usar nos meus projetos com bootstrap:
http://jasny.github.io/bootstrap/javascript.html#inputmask
Fiquem na Paz!!!
Da mesma maneira que resolvi não utilizar o Datepicket do Ajax Toolkit, também resolvi não utilizar o MaskedEdit.
Achei esse para usar nos meus projetos com bootstrap:
http://jasny.github.io/bootstrap/javascript.html#inputmask
Fiquem na Paz!!!
Marcadores:
bootstrap,
edit,
Input mask,
máscara
Datepicker for Bootstrap
HI,
Resolvi não utilizar o componente de datepicker do Ajax Toolkit em um projeto utilizando bootstrap que estou fazendo. Fui em busca de um que servisse para bootstrap e dos que encontrei resolvi utilizar este: http://eternicode.github.io/bootstrap-datepicker/
Apesar do arquivo ser um pouco maior que os demais, esse tem várias opções de formatação/nacionalização.
Fiquem na Paz!!!
Resolvi não utilizar o componente de datepicker do Ajax Toolkit em um projeto utilizando bootstrap que estou fazendo. Fui em busca de um que servisse para bootstrap e dos que encontrei resolvi utilizar este: http://eternicode.github.io/bootstrap-datepicker/
Apesar do arquivo ser um pouco maior que os demais, esse tem várias opções de formatação/nacionalização.
Fiquem na Paz!!!
Marcadores:
bootstrap,
data,
datepicker,
hora
Começando a aprender Bootstrap
HI,
Já tem um certo tempo que comecei a estudar Bootstrap. Pra mim que não tenho a menor intimidade com a área de web design, é perfeito. Além de ter uma fácil utilização, existem sites que vendem layouts, o que ajuda bastante.
Temas
https://wrapbootstrap.com/themes
http://bootswatch.com/
Construtor de layout
http://www.layoutit.com/
Vídeo sobre
http://www.youtube.com/watch?v=4S8olUnhOUc
Curso
http://acadtec.com.br/curso/bootstrap-twitter/
A documentação do bootstrap é bem didática
http://getbootstrap.com/2.3.2/getting-started.html
O legal dele também é a possibilidade de criar sites responsivos, ou seja, você faz apenas um site e ele se adapta tranquilamente ao Tablet e Smartphone. Não precisa criar uma versão para cada tipo de equipamento.
O bootstrap foi criado pelo pessoal do Twitter, e é open source.
O site da Globo o utiliza. Eles até traduziram uma versão
http://globocom.github.io/bootstrap/
Fiquem na Paz!!!
Já tem um certo tempo que comecei a estudar Bootstrap. Pra mim que não tenho a menor intimidade com a área de web design, é perfeito. Além de ter uma fácil utilização, existem sites que vendem layouts, o que ajuda bastante.
Temas
https://wrapbootstrap.com/themes
http://bootswatch.com/
Construtor de layout
http://www.layoutit.com/
Vídeo sobre
http://www.youtube.com/watch?v=4S8olUnhOUc
Curso
http://acadtec.com.br/curso/bootstrap-twitter/
A documentação do bootstrap é bem didática
http://getbootstrap.com/2.3.2/getting-started.html
O legal dele também é a possibilidade de criar sites responsivos, ou seja, você faz apenas um site e ele se adapta tranquilamente ao Tablet e Smartphone. Não precisa criar uma versão para cada tipo de equipamento.
O bootstrap foi criado pelo pessoal do Twitter, e é open source.
O site da Globo o utiliza. Eles até traduziram uma versão
http://globocom.github.io/bootstrap/
Fiquem na Paz!!!
Marcadores:
bootstrap,
free,
layout,
responsivo,
temas
quinta-feira, julho 11, 2013
Enviando e-mail a partir do Oracle
HI,
Muito bom esse recurso do Oracle. Implementei hoje uma rotina de envio de e-mail. Pedi pro DBA liberar as permissões. Criei a procedure para enviar o e-mail e outra procedure para pegar os usuários e disparar o e-mail para cada um.
Só enfrentei um problema. Não estava mantendo a acentuação. Mas com uma busca no google encontrei a solução. Pra considerar a acentuação tem que usar o comando UTL_SMTP.WRITE_RAW_DATA(v_mail_conn, UTL_RAW.CAST_TO_RAW(UTL_TCP.CRLF || p_mensagem)); ao invés de utilizar UTL_SMTP.WRITE_DATA(v_mail_conn, UTL_TCP.CRLF || p_mensagem);
Segue os links que utilizei.
Como resolver problema de acentuação usando utl_smtp?
http://glufke.net/oracle/viewtopic.php?t=4670
Email From Oracle PL/SQL (UTL_SMTP)
http://www.oracle-base.com/articles/misc/email-from-oracle-plsql.php
RES: [oracle_br] Enviar e-mail pelo Oracle com Con teúdo HTML
http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/msg16433.html
Fiquem na Paz!!!!
Muito bom esse recurso do Oracle. Implementei hoje uma rotina de envio de e-mail. Pedi pro DBA liberar as permissões. Criei a procedure para enviar o e-mail e outra procedure para pegar os usuários e disparar o e-mail para cada um.
Só enfrentei um problema. Não estava mantendo a acentuação. Mas com uma busca no google encontrei a solução. Pra considerar a acentuação tem que usar o comando UTL_SMTP.WRITE_RAW_DATA(v_mail_conn, UTL_RAW.CAST_TO_RAW(UTL_TCP.CRLF || p_mensagem)); ao invés de utilizar UTL_SMTP.WRITE_DATA(v_mail_conn, UTL_TCP.CRLF || p_mensagem);
Segue os links que utilizei.
Como resolver problema de acentuação usando utl_smtp?
http://glufke.net/oracle/viewtopic.php?t=4670
Email From Oracle PL/SQL (UTL_SMTP)
http://www.oracle-base.com/articles/misc/email-from-oracle-plsql.php
RES: [oracle_br] Enviar e-mail pelo Oracle com Con teúdo HTML
http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/msg16433.html
Fiquem na Paz!!!!
sexta-feira, junho 07, 2013
Desabilitar a opção de Selecionar do GridView de acordo com uma condição no Asp.Net
HI,
Eu poderia ter tratado a ação ao selecionar a linha do gridview e verificar se teria permissão pra ação, mas isso acarreta uma chamada ao servidor. Então procurei uma maneira de desabilitar a opção de selecionar do gridview caso o usuário não tivesse permissão de realizar a ação.
Exemplo
protected void gdvTurmas_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string status = ((DataRowView)e.Row.DataItem)["STATUS"].ToString();
if (status == "T")
{
e.Row.Cells[e.Row.RowIndex].Enabled = false;
}
}
}
Resultado
Achei aqui
How to disable a control in command field control in gridview
http://stackoverflow.com/a/7188143
Fiquem na Paz!!!
Eu poderia ter tratado a ação ao selecionar a linha do gridview e verificar se teria permissão pra ação, mas isso acarreta uma chamada ao servidor. Então procurei uma maneira de desabilitar a opção de selecionar do gridview caso o usuário não tivesse permissão de realizar a ação.
Exemplo
protected void gdvTurmas_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string status = ((DataRowView)e.Row.DataItem)["STATUS"].ToString();
if (status == "T")
{
e.Row.Cells[e.Row.RowIndex].Enabled = false;
}
}
}
Resultado
Achei aqui
How to disable a control in command field control in gridview
http://stackoverflow.com/a/7188143
Fiquem na Paz!!!
Marcadores:
asp.net,
comando,
desabilitar,
gridview,
select
Cursos Gratuítos
HI,
Compartilhando os sites de cursos que vi no meu twitter
Os 50 melhores cursos grátis de TI de toda a Internet
http://www.profissionaisti.com.br/2013/03/os-50-melhores-cursos-gratis-de-ti-de-toda-a-internet/
300 cursos online gratuitos sobre Social Media e Marketing 2.0
http://canaldoensino.com.br/blog/300-cursos-online-gratuitos-sobre-social-media-e-marketing-2-0
Fiquem na Paz!!!
Compartilhando os sites de cursos que vi no meu twitter
Os 50 melhores cursos grátis de TI de toda a Internet
http://www.profissionaisti.com.br/2013/03/os-50-melhores-cursos-gratis-de-ti-de-toda-a-internet/
300 cursos online gratuitos sobre Social Media e Marketing 2.0
http://canaldoensino.com.br/blog/300-cursos-online-gratuitos-sobre-social-media-e-marketing-2-0
Fiquem na Paz!!!
Somar ou Subtrair Dias em Uma Data no Java
HI,
Precisei dessa rotina para uma consulta em um aplicativo android. Para mostrar na tela os registros dos últimos 5 dias. É que na tela tem um filtro de data inicial e data final, então no campo data final coloquei a data atual, e no campo data inicial, coloquei a data atual menos 5 dias.
// data final igual a hoje
Date dataFinal = new Date();
// usa calendar para subtrair data
Calendar calendarData = Calendar.getInstance();
calendarData.setTime(dataFinal);
int numeroDiasParaSubtrair = 2;
// achar data de início
calendarData.add(Calendar.DATE,numeroDiasParaSubtrair);
Date dataInicial = calendarData.getTime();
Achei aqui
Como Subtrair data ex: 01/05/2005 - 2 dias = 29/04/2005
http://www.guj.com.br/java/23768-assunto-como-subtrair-data-ex-01052005---2-dias--29042005
Também usei essa outra rotina uma situação diferente do meu sistema
Somar/Subtrair data
http://javafree.uol.com.br/artigo/13819/Somar-Subtrair-data.html
import java.util.Date;
import java.text.SimpleDateFormat;
public class SomarData {
public static void main(String[] args) {
Date hoje = new Date();
int dias_a_avancar = 2; // se quiser diminuir, basta por -2
Date nova_data = new Date(hoje.getTime()+((1000*24*60*60)*dias_a_avancar));
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss:SSS");
System.out.println(df.format(hoje));
System.out.println(df.format(nova_data));
}
}
Fiquem na Paz!!!
Precisei dessa rotina para uma consulta em um aplicativo android. Para mostrar na tela os registros dos últimos 5 dias. É que na tela tem um filtro de data inicial e data final, então no campo data final coloquei a data atual, e no campo data inicial, coloquei a data atual menos 5 dias.
// data final igual a hoje
Date dataFinal = new Date();
// usa calendar para subtrair data
Calendar calendarData = Calendar.getInstance();
calendarData.setTime(dataFinal);
int numeroDiasParaSubtrair = 2;
// achar data de início
calendarData.add(Calendar.DATE,numeroDiasParaSubtrair);
Date dataInicial = calendarData.getTime();
Achei aqui
Como Subtrair data ex: 01/05/2005 - 2 dias = 29/04/2005
http://www.guj.com.br/java/23768-assunto-como-subtrair-data-ex-01052005---2-dias--29042005
Também usei essa outra rotina uma situação diferente do meu sistema
Somar/Subtrair data
http://javafree.uol.com.br/artigo/13819/Somar-Subtrair-data.html
import java.util.Date;
import java.text.SimpleDateFormat;
public class SomarData {
public static void main(String[] args) {
Date hoje = new Date();
int dias_a_avancar = 2; // se quiser diminuir, basta por -2
Date nova_data = new Date(hoje.getTime()+((1000*24*60*60)*dias_a_avancar));
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss:SSS");
System.out.println(df.format(hoje));
System.out.println(df.format(nova_data));
}
}
Fiquem na Paz!!!
Data por extenso no MySQL em português
HI,
Para formatar uma data por extenso. Não quis fazer na aplicação. Usei essa dica que achei no google.
Data por extenso no MySQL em português
http://blog.vanderli.com.br/data-extenso-mysql-português
Fiquem na Paz!!!
Para formatar uma data por extenso. Não quis fazer na aplicação. Usei essa dica que achei no google.
SELECT CASE MONTHNAME(DATA_INICIO) WHEN 'January' THEN DATE_FORMAT(DATA_INICIO, "%d de Janeiro de %Y") WHEN 'February' THEN DATE_FORMAT(DATA_INICIO, "%d de Fevereiro de %Y") WHEN 'March' THEN DATE_FORMAT(DATA_INICIO, "%d de Março de %Y") WHEN 'April' THEN DATE_FORMAT(DATA_INICIO, "%d de Abril de %Y") WHEN 'May' THEN DATE_FORMAT(DATA_INICIO, "%d de Maio de %Y") WHEN 'June' THEN DATE_FORMAT(DATA_INICIO, "%d de Junho de %Y") WHEN 'July' THEN DATE_FORMAT(DATA_INICIO, "%d de Julho de %Y") WHEN 'August' THEN DATE_FORMAT(DATA_INICIO, "%d de Agosto de %Y") WHEN 'September' THEN DATE_FORMAT(DATA_INICIO, "%d de Setembro de %Y") WHEN 'November' THEN DATE_FORMAT(DATA_INICIO, "%d de Novembro de %Y") WHEN 'December' THEN DATE_FORMAT(DATA_INICIO, "%d de Dezembro de %Y") END AS mes_por_extenso FROM TABELA;
Data por extenso no MySQL em português
http://blog.vanderli.com.br/data-extenso-mysql-português
Fiquem na Paz!!!
sábado, junho 01, 2013
Força de Vendas para Android
HI,
Automação do Força de Vendas para Android.
Empresa: Ceta Sistemas
Site: http://cetasistemas.com/ForcaVendas.aspx
Sistema em Ação
Fiquem na Paz!!!
Automação do Força de Vendas para Android.
- Sistema de fácil manuseio e objetivo.
- Não faz o usuário ficar entrando e saído de telas para incluir os itens do pedido.
- Acesso aos dados cadastrais dos clientes, situação dos títulos em aberto, histórico de compras do cliente, estoque dos produtos, política de descontos, campanhas de vendas, etc.
- Trabalha com conta corrente, limite definido para o pedido ou de acordo com o prazo escolhido, desconto de acordo com a quantidade vendida, pesquisa de preços.
- Diversos filtros na tela de produtos: Itens do Pedido, Por Fabricantes, Itens que o cliente já comprou, Produtos com política de desconto, Produtos com Desconto por quantidade, Campanhas de Venda, Apenas os Positivados, Apenas os não Positivados.
- A tela de produtos possui duas opções de exibição: Listagem ou Catálogo.
Empresa: Ceta Sistemas
Site: http://cetasistemas.com/ForcaVendas.aspx
Sistema em Ação
Fiquem na Paz!!!
Marcadores:
android,
automação,
força de vendas
segunda-feira, abril 29, 2013
Falha ao exportar usando as opções especificadas. Verifique as opções e tente novamente.
HI,
Essa mensagem: Falha ao exportar usando as opções especificadas. Verifique as opções e tente novamente. Apareceu quando fui usar a opção de exportar do CrystalReportViewer.
Como é mais fácil encontrar a solução em inglês, traduzi no Google Translator
Ficou assim: Failed to export using the options specified. Check the settings and try again. crystal reports.
Pelo que entendi da solução, o Crystal Report View não conversa bem com o AJAX. No request da página, o crystal reports acaba perdendo a referência ao relatório que está sendo exibido.
A solução é colocar o ReportSource em uma variável de sessão.
SAP Crystal Reports print command does not work
http://stackoverflow.com/questions/10459610/sap-crystal-reports-print-command-does-not-work
A segunda opção achei aqui, é usando Session também, só que o código está na Page_Init
asp.net crystal reports issues
http://ssenarath.blogspot.com.br/2012_08_01_archive.html
Que leva pra essa página
Failed to export using the options you specified. Please check your options and try again.
http://social.microsoft.com/Forums/en-US/Offtopic/thread/f9ae2910-463e-40f5-92ac-9c29c03c31c3
Fiquem na Paz!!!
Essa mensagem: Falha ao exportar usando as opções especificadas. Verifique as opções e tente novamente. Apareceu quando fui usar a opção de exportar do CrystalReportViewer.
Como é mais fácil encontrar a solução em inglês, traduzi no Google Translator
Ficou assim: Failed to export using the options specified. Check the settings and try again. crystal reports.
Pelo que entendi da solução, o Crystal Report View não conversa bem com o AJAX. No request da página, o crystal reports acaba perdendo a referência ao relatório que está sendo exibido.
A solução é colocar o ReportSource em uma variável de sessão.
SAP Crystal Reports print command does not work
http://stackoverflow.com/questions/10459610/sap-crystal-reports-print-command-does-not-work
A segunda opção achei aqui, é usando Session também, só que o código está na Page_Init
asp.net crystal reports issues
http://ssenarath.blogspot.com.br/2012_08_01_archive.html
Que leva pra essa página
Failed to export using the options you specified. Please check your options and try again.
http://social.microsoft.com/Forums/en-US/Offtopic/thread/f9ae2910-463e-40f5-92ac-9c29c03c31c3
Fiquem na Paz!!!
Marcadores:
ajax,
Crystal Reports,
CrystalReportViewer,
export,
pdf
terça-feira, abril 09, 2013
Erro ao tentar utilizar o HtmlEditorExtender do Ajax Toolkit
HI,
Estou aqui criando um esquema de publicar notícias. Resolvi utilizar o Editor do Ajax Toolkit. Mas eu percebi que tinha um tal de HtmlEditorExtender. Pensei que era para extender o Editor. É não, descobri no google que ele extende o textbox. O bacana dele é que você configura a toolbar e ainda tem a opção de upload de imagens (isso é um próximo capítulo).
Ao tentar executar o visual não deixou, disse que precisava configurar o web config com isso aqui:
requirePermission="false"
type="AjaxControlToolkit.Sanitizer.ProviderSanitizerSection,
AjaxControlToolkit"/>
type="AjaxControlToolkit.Sanitizer.
AntiXssSanitizerProvider">
Encaixei nas posições corretas do web config. Depois disso começaram os problemas.
Could not load type 'AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider'.
http://stackoverflow.com/questions/12022493/could-not-load-type-ajaxcontroltoolkit-sanitizer-antixsssanitizerprovider
Nesse link foi que achei como instalar o AntiXSS
Sanitizer provider is not configured in the web.config file. If you are using the HtmlEditorExtender with a public website then please configure a Sanitizer provider.
http://afsawaf.blogspot.com.br/2012/08/sanitizer-provider-is-not-configured-in.html
ajax: Parser Error Message: Could not load type 'AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider
http://social.msdn.microsoft.com/Forums/en-US/netfxwebes/thread/38806739-66f7-4403-9ccf-8902c59fd44c
Ensinado a usar
Adding the New HTML Editor Extender to a Web Forms Application using NuGet
http://stephenwalther.com/archive/2011/08/17/adding-the-new-html-editor-extender-to-a-web-forms.aspx
Agora vou resolver a bronca do upload, descobrir como faz
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/HtmlEditorExtender/HTMLEditorExtender.aspx
Fiquem na Paz!!!
Estou aqui criando um esquema de publicar notícias. Resolvi utilizar o Editor do Ajax Toolkit. Mas eu percebi que tinha um tal de HtmlEditorExtender. Pensei que era para extender o Editor. É não, descobri no google que ele extende o textbox. O bacana dele é que você configura a toolbar e ainda tem a opção de upload de imagens (isso é um próximo capítulo).
Ao tentar executar o visual não deixou, disse que precisava configurar o web config com isso aqui:
type="AjaxControlToolkit.Sanitizer.ProviderSanitizerSection,
AjaxControlToolkit"/>
AntiXssSanitizerProvider">
Encaixei nas posições corretas do web config. Depois disso começaram os problemas.
Could not load type 'AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider'.
http://stackoverflow.com/questions/12022493/could-not-load-type-ajaxcontroltoolkit-sanitizer-antixsssanitizerprovider
Nesse link foi que achei como instalar o AntiXSS
Sanitizer provider is not configured in the web.config file. If you are using the HtmlEditorExtender with a public website then please configure a Sanitizer provider.
http://afsawaf.blogspot.com.br/2012/08/sanitizer-provider-is-not-configured-in.html
ajax: Parser Error Message: Could not load type 'AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider
http://social.msdn.microsoft.com/Forums/en-US/netfxwebes/thread/38806739-66f7-4403-9ccf-8902c59fd44c
Ensinado a usar
Adding the New HTML Editor Extender to a Web Forms Application using NuGet
http://stephenwalther.com/archive/2011/08/17/adding-the-new-html-editor-extender-to-a-web-forms.aspx
Agora vou resolver a bronca do upload, descobrir como faz
http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/HtmlEditorExtender/HTMLEditorExtender.aspx
Fiquem na Paz!!!
segunda-feira, abril 08, 2013
Arredondamento em duas casas decimais no Java
HI,
Precisei dessa rotina em uma aplicação no Android.
Usei dessa maneira:
public static double round2(double value) {
double result = value * 100;
result = Math.round(result);
result = result / 100;
return result;
}
rounding double to two decimal places
http://www.java-forums.org/advanced-java/4130-rounding-double-two-decimal-places.html#post92713
depois achei esse link, é a mesma lógica
How To Round Double / Float Value To 2 Decimal Points In Java
http://www.mkyong.com/java/how-to-round-double-float-value-to-2-decimal-points-in-java/
Editando:
No Android não funcionou quando a variável é do tipo double.
Achei essa solução, agora tá perfeito
Round a double
http://www.rgagnon.com/javadetails/java-0016.html
Fiquem na Paz!!!
Precisei dessa rotina em uma aplicação no Android.
Usei dessa maneira:
public static double round2(double value) {
double result = value * 100;
result = Math.round(result);
result = result / 100;
return result;
}
rounding double to two decimal places
http://www.java-forums.org/advanced-java/4130-rounding-double-two-decimal-places.html#post92713
depois achei esse link, é a mesma lógica
How To Round Double / Float Value To 2 Decimal Points In Java
http://www.mkyong.com/java/how-to-round-double-float-value-to-2-decimal-points-in-java/
Editando:
No Android não funcionou quando a variável é do tipo double.
Achei essa solução, agora tá perfeito
Round a double
http://www.rgagnon.com/javadetails/java-0016.html
Fiquem na Paz!!!
Marcadores:
arredondamento,
decimal,
java,
round
sábado, abril 06, 2013
Crystal Reports acessando o MySQL através da conexão ADO.NET (XML)
HI,
Essa foi a solução que encontrei para usar o Crystal Reports com MySQL, já que no servidor que estou hospedando o site não permite usar conexão ODBC.
Depois de alguma horas pesquisando, eis que encontrei o caminho para essa integração, Glória a Deus!!!
Use Crystal report with XML Schema
http://harshana.net/index.php/2010/use-crystal-report-with-xml-schema/
O lado ruim é que dentro do Crystal Reports não consigo visualizar o que estou fazendo, mas tudo bem, melhor do que montar um html, hehehe.
Fiquem na Paz!!!
Essa foi a solução que encontrei para usar o Crystal Reports com MySQL, já que no servidor que estou hospedando o site não permite usar conexão ODBC.
Depois de alguma horas pesquisando, eis que encontrei o caminho para essa integração, Glória a Deus!!!
Use Crystal report with XML Schema
http://harshana.net/index.php/2010/use-crystal-report-with-xml-schema/
O lado ruim é que dentro do Crystal Reports não consigo visualizar o que estou fazendo, mas tudo bem, melhor do que montar um html, hehehe.
Fiquem na Paz!!!
Marcadores:
ADO.NET,
alternativa,
conexão,
Crystal Reports,
MySQL,
OBDC,
xml
Erro ao tentar conectar no MySQL - Unknown MySQL server host localhost (11001)
HI,
Passou a acontecer esse erro depois que criei um usuário. Desconectai, e quando fui entrar novamente passou a exibir o erro Unknown MySQL server host localhost (11001).
Consegui resolver com essas dicas
How can I restore the MySQL root user’s full privileges?
http://stackoverflow.com/questions/1709078/how-can-i-restore-the-mysql-root-users-full-privileges
Fiquem na Paz!!!
Passou a acontecer esse erro depois que criei um usuário. Desconectai, e quando fui entrar novamente passou a exibir o erro Unknown MySQL server host localhost (11001).
Consegui resolver com essas dicas
How can I restore the MySQL root user’s full privileges?
http://stackoverflow.com/questions/1709078/how-can-i-restore-the-mysql-root-users-full-privileges
Fiquem na Paz!!!
Problema de incompatibilidade com equipamentos android - auto focus
HI,
Registrando, porque é um descuido que pode trazer problemas e o desenvolvedor nem perceber.
Recentemente implementei a leitura de código de barras em um sistema android. Alguns dias depois, meu sócio relatou que alguns usuários não estavam mais conseguindo atualizar o sistema, dizia que era incompatível.
Já tava desconfiado que era por causa dessa última alteração. Fui olhar a especificação do smartphone, um Galaxy Y, e reparei que não tinha auto focus. Lembrei que no sistema tinha essa permissão no manifest.
Fui em busca da solução, já que não tinha como reverter o que fiz.
Achei aqui
android market says no device compatible?
http://stackoverflow.com/questions/9482128/android-market-says-no-device-compatible
Só colocar a permissão como required igual a false.
Fiquem na Paz!!!
Registrando, porque é um descuido que pode trazer problemas e o desenvolvedor nem perceber.
Recentemente implementei a leitura de código de barras em um sistema android. Alguns dias depois, meu sócio relatou que alguns usuários não estavam mais conseguindo atualizar o sistema, dizia que era incompatível.
Já tava desconfiado que era por causa dessa última alteração. Fui olhar a especificação do smartphone, um Galaxy Y, e reparei que não tinha auto focus. Lembrei que no sistema tinha essa permissão no manifest.
Fui em busca da solução, já que não tinha como reverter o que fiz.
Achei aqui
android market says no device compatible?
http://stackoverflow.com/questions/9482128/android-market-says-no-device-compatible
Só colocar a permissão como required igual a false.
Fiquem na Paz!!!
Marcadores:
android,
autofocus,
captura,
codigo de barras,
compatibilidade,
permissão,
problema
segunda-feira, abril 01, 2013
Erro ao tentar conectar o Crystal Reports 2008 ao MySQL usando a conexão ODBC
HI,
Hoje resolvi aprender a conectar uma base de dados do MySQL no Crystal Reports. Até então faço apenas relatórios acessando o Oracle.
Pesquisando no Google descobrir que precisaria criar uma conexão ODBC. OK, fui em busca do MySQL Connector para ODBC. Instalei a versão 64 bits no meu notebook, criei a conexão no Administrador do Microsoft ODBC do windows e quando fui acessá-la no Crystal Reports deu o seguinte erro:
Failed to connect
Details: IM014: [Microsoft] [ODBC Driver Manager] Data Source (DSN) has specified an architecture incompatibility between the driver and application
Resolvi desinstalar a versão 64 bits e instalar a 32. Mas quando fui criar a conexão no ODBC não listava o driver do MySQL. Lembrei que tinha visto em um vídeo que o caminho do Administrador do Microsoft ODBC era alterado pra pasta C:\Windows\SysWOW64\odbcad32.exe, antes tava C:\Windows\System32\odbcad32.exe. Fiz isso e conseguir criar a conexão e acessar a partir do Crystal Reports.
Link que me ajudaram
Connecting MySQL with Crystal Reports v10
http://stackoverflow.com/questions/7020083/connecting-mysql-with-crystal-reports-v10
Crystal Report C# with MySql Tutorial
http://www.youtube.com/watch?v=NX3AEvpTSns
Using Connector/ODBC with Crystal Reports
http://dev.mysql.com/doc/refman/5.0/en/connector-odbc-examples-tools-with-crystalreports.html
Fiquem na Paz!!!
Hoje resolvi aprender a conectar uma base de dados do MySQL no Crystal Reports. Até então faço apenas relatórios acessando o Oracle.
Pesquisando no Google descobrir que precisaria criar uma conexão ODBC. OK, fui em busca do MySQL Connector para ODBC. Instalei a versão 64 bits no meu notebook, criei a conexão no Administrador do Microsoft ODBC do windows e quando fui acessá-la no Crystal Reports deu o seguinte erro:
Failed to connect
Details: IM014: [Microsoft] [ODBC Driver Manager] Data Source (DSN) has specified an architecture incompatibility between the driver and application
Resolvi desinstalar a versão 64 bits e instalar a 32. Mas quando fui criar a conexão no ODBC não listava o driver do MySQL. Lembrei que tinha visto em um vídeo que o caminho do Administrador do Microsoft ODBC era alterado pra pasta C:\Windows\SysWOW64\odbcad32.exe, antes tava C:\Windows\System32\odbcad32.exe. Fiz isso e conseguir criar a conexão e acessar a partir do Crystal Reports.
Link que me ajudaram
Connecting MySQL with Crystal Reports v10
http://stackoverflow.com/questions/7020083/connecting-mysql-with-crystal-reports-v10
Crystal Report C# with MySql Tutorial
http://www.youtube.com/watch?v=NX3AEvpTSns
Using Connector/ODBC with Crystal Reports
http://dev.mysql.com/doc/refman/5.0/en/connector-odbc-examples-tools-with-crystalreports.html
Fiquem na Paz!!!
Exibindo uma mensagem no site por algum tempo determinado usando JQuery
HI,
Coloquei esse efeito em uma página de inclusão de um sistema em Asp.Net que estou fazendo para indicar que o registro foi incluído com sucesso. Geralmente que mostrava uma mensagem usando a função Alert do java script.
Deu um pouco de trabalho, já que eu tive que acionar essa mensagem a partir do CodeBehind da página, mas graças a Deus consegui montar o quebra cabeça.
usei o exemplo desse site para montar meu código
JQuery fading a div after a certain time
http://papermashup.com/jquery-fading-a-div-after-a-certain-time/
Também tem esse exemplo
Effect Delay Trick
http://www.learningjquery.com/2007/01/effect-delay-trick
Fiquem na Paz!!!
Coloquei esse efeito em uma página de inclusão de um sistema em Asp.Net que estou fazendo para indicar que o registro foi incluído com sucesso. Geralmente que mostrava uma mensagem usando a função Alert do java script.
Deu um pouco de trabalho, já que eu tive que acionar essa mensagem a partir do CodeBehind da página, mas graças a Deus consegui montar o quebra cabeça.
usei o exemplo desse site para montar meu código
JQuery fading a div after a certain time
http://papermashup.com/jquery-fading-a-div-after-a-certain-time/
Também tem esse exemplo
Effect Delay Trick
http://www.learningjquery.com/2007/01/effect-delay-trick
Fiquem na Paz!!!
Procedure com query dinâmica para excluir um registro no MySQL
HI,
Estou fazendo um site usando Asp.Net com MySQL, e cada tabela tem a sua classe no sistema, e em cada classe tem o método Manutenção para inserir/atualizar e o método Excluir. Só que o excluir é repetitivo em cada classe: delete from tabela where campo = 1, por exemplo. A única coisa que muda é a tabela e o campo. Então pensei em fazer uma procedure genérica onde eu passasse como parâmetro o nome da tabela , o campo da condição e o código do registro a ser excluído. No Oracle eu já sabia que tem com montar uma query pra ser execeutada.
Achei a dica aqui
How To have Dynamic SQL in MySQL Stored Procedure
http://stackoverflow.com/questions/190776/how-to-have-dynamic-sql-in-mysql-stored-procedure
Minha procedure ficou assim:
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_excluir_registro`(IN `_NOMETABELA` VARCHAR(50), IN `_CAMPO` VARCHAR(50), IN `_VALOR` VARCHAR(50))
BEGIN
SET @s = CONCAT('DELETE FROM ',_NOMETABELA, ' WHERE ', _CAMPO, ' = ', _VALOR);
PREPARE stmt FROM @s;
EXECUTE stmt;
END
Fiquem na Paz!!!!
Estou fazendo um site usando Asp.Net com MySQL, e cada tabela tem a sua classe no sistema, e em cada classe tem o método Manutenção para inserir/atualizar e o método Excluir. Só que o excluir é repetitivo em cada classe: delete from tabela where campo = 1, por exemplo. A única coisa que muda é a tabela e o campo. Então pensei em fazer uma procedure genérica onde eu passasse como parâmetro o nome da tabela , o campo da condição e o código do registro a ser excluído. No Oracle eu já sabia que tem com montar uma query pra ser execeutada.
Achei a dica aqui
How To have Dynamic SQL in MySQL Stored Procedure
http://stackoverflow.com/questions/190776/how-to-have-dynamic-sql-in-mysql-stored-procedure
Minha procedure ficou assim:
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_excluir_registro`(IN `_NOMETABELA` VARCHAR(50), IN `_CAMPO` VARCHAR(50), IN `_VALOR` VARCHAR(50))
BEGIN
SET @s = CONCAT('DELETE FROM ',_NOMETABELA, ' WHERE ', _CAMPO, ' = ', _VALOR);
PREPARE stmt FROM @s;
EXECUTE stmt;
END
Fiquem na Paz!!!!
sábado, março 30, 2013
Trabalhando com uma tabela de Contadores no MySQL
HI,
Essa dica é fresquinha, acabei de implementar agora.
Estou fazendo um sistema de suporte usando o banco MySQL e para criar o código do protocolo minha intenção é que em cada ano o contador comece do 1.
Exemplo: 201300001, 201300002, 201300...
Quando for 2014 que comece tudo de novo, 201400001, 201400002, ...
Crie uma tabela com dois campo, Ano e Valor.
Incrementar o valor com +1 é tranquilo, mas como garantir que dois usuários não peguem o mesmo valor?
Pensei em bloquear o registro para dar um update e pegar o valor atual. Pesquisando como fazer isso, achei dessa maneira que pensei em fazer e uma muito melhor.
Achei a dica aqui
MySQL How To Select and Update in Single Statement - Increment Counter avoiding Race Condition
http://www.sqlines.com/mysql/how-to/select-update-single-statement-race-condition
Usei essa solução
UPDATE counters
SET value = LAST_INSERT_ID(value) + 1
WHERE id = 1;
SELECT LAST_INSERT_ID();
Mas eu não quis usar pegando o valor atual, e sim ele +1
Ficou assim meu update
DECLARE novo_valor INT;
UPDATE seq_protoco
SET valor = LAST_INSERT_ID(valor + 1)
WHERE ano = 2013;
SELECT LAST_INSERT_ID() INTO novo_valor;
Fiquem na Paz!!!
Essa dica é fresquinha, acabei de implementar agora.
Estou fazendo um sistema de suporte usando o banco MySQL e para criar o código do protocolo minha intenção é que em cada ano o contador comece do 1.
Exemplo: 201300001, 201300002, 201300...
Quando for 2014 que comece tudo de novo, 201400001, 201400002, ...
Crie uma tabela com dois campo, Ano e Valor.
Incrementar o valor com +1 é tranquilo, mas como garantir que dois usuários não peguem o mesmo valor?
Pensei em bloquear o registro para dar um update e pegar o valor atual. Pesquisando como fazer isso, achei dessa maneira que pensei em fazer e uma muito melhor.
Achei a dica aqui
MySQL How To Select and Update in Single Statement - Increment Counter avoiding Race Condition
http://www.sqlines.com/mysql/how-to/select-update-single-statement-race-condition
Usei essa solução
UPDATE counters
SET value = LAST_INSERT_ID(value) + 1
WHERE id = 1;
SELECT LAST_INSERT_ID();
Mas eu não quis usar pegando o valor atual, e sim ele +1
Ficou assim meu update
DECLARE novo_valor INT;
UPDATE seq_protoco
SET valor = LAST_INSERT_ID(valor + 1)
WHERE ano = 2013;
SELECT LAST_INSERT_ID() INTO novo_valor;
Fiquem na Paz!!!
quarta-feira, março 27, 2013
Barra de Progresso no Android
HI,
Precisei melhorar uma tela de comunicação de um programa que fiz. Nessa tela é recebido um arquivo compactado com os arquivos para atualização e é transmitido outro arquivo compactado com as informações que foram coletadas.
Pois bem, a tela tinha uma mensagem de dialogo apenas exibindo aquela bolinha girando e uma mensagem pedindo pra aguardar. Decidir modificar para ir mostrando cada etapa do processo na tela e resolvi modificar o dialogo para Progress Bar.
Usei esses exemplos para modificar a minha rotina.
Android Progress Bar Example
http://www.mkyong.com/android/android-progress-bar-example/
android progress dialog example
http://mobile-development.org/index.php/android/android-progress-dialog-example
Fiquem na Paz!!!
Precisei melhorar uma tela de comunicação de um programa que fiz. Nessa tela é recebido um arquivo compactado com os arquivos para atualização e é transmitido outro arquivo compactado com as informações que foram coletadas.
Pois bem, a tela tinha uma mensagem de dialogo apenas exibindo aquela bolinha girando e uma mensagem pedindo pra aguardar. Decidir modificar para ir mostrando cada etapa do processo na tela e resolvi modificar o dialogo para Progress Bar.
Usei esses exemplos para modificar a minha rotina.
Android Progress Bar Example
http://www.mkyong.com/android/android-progress-bar-example/
android progress dialog example
http://mobile-development.org/index.php/android/android-progress-dialog-example
Fiquem na Paz!!!
Marcadores:
android,
dialogo,
progress bar
domingo, março 24, 2013
Adicionando leitura de código de barras ao nosso projeto no Android
HI,
Essa é pra quem não quer ficar acessando um programa de leitura de código de barras à partir do nosso programa.
Com a lib ZXing é possível incorporar esse recurso ao nosso projeto.
Achei como fazer essa integração nesse blog:
Utilizando Zxing para ler código de barras.
http://maicon.strey.nom.br/blog/2012/04/27/utilizando-zxing-para-ler-codigo-de-barras/
Fiquem na Paz!!!
Essa é pra quem não quer ficar acessando um programa de leitura de código de barras à partir do nosso programa.
Com a lib ZXing é possível incorporar esse recurso ao nosso projeto.
Achei como fazer essa integração nesse blog:
Utilizando Zxing para ler código de barras.
http://maicon.strey.nom.br/blog/2012/04/27/utilizando-zxing-para-ler-codigo-de-barras/
Fiquem na Paz!!!
Marcadores:
android,
código de barras,
integração,
lib,
zxing
domingo, março 17, 2013
Instalação manual do Apache e do PHP no Windows
HI,
Mais um pró resolvido, graças a Deus e as pessoas que disponibilizaram a solução.
Eu já tinha instalado o MySQL no meu notebook para acessá-lo no Visual Studio. Baixei a versão 64bit e a instalação é manual.
E hoje encontrei um sistema de pesquisa em php e decidi estudar seu funcionamento, mas para testá-lo não queria instalar o Wamp, por exemplo, já que tenho o MySQL instalado. Então decidi baixar o Apache e o PHP.
Apache (no meu caso é 64bits)
http://www.apachelounge.com/download/win64/
PHP
http://windows.php.net/download/#php-5.4
Instalei o Apache como serviço, testei no browser, tudo OK.
Descompactei o PHP, segui os passos de configuração do Apache, decidir instalar o PHP como módulo do Apache.
Quando fui iniciar o serviço do Apache deu o seguinte erro:
Depois de alguns muitos minutos de busca no Google, consegui achar o caminho para resolver esse probleminha.
Nesse resposta consegui o link da versão 64bits do PHP, da versão atual.
http://stackoverflow.com/questions/8263297/cannot-load-php5apache2-2-dll/13510720#13510720
Tem um link para esse endereço
http://www.apachelounge.com/download/additional/
Fui na sessão Members e baixei a versão 64bits do PHP
PHP 5.4.13 available (x64 & x86)
http://www.apachelounge.com/viewtopic.php?p=24113
Fiquem na Paz!!!
Mais um pró resolvido, graças a Deus e as pessoas que disponibilizaram a solução.
Eu já tinha instalado o MySQL no meu notebook para acessá-lo no Visual Studio. Baixei a versão 64bit e a instalação é manual.
E hoje encontrei um sistema de pesquisa em php e decidi estudar seu funcionamento, mas para testá-lo não queria instalar o Wamp, por exemplo, já que tenho o MySQL instalado. Então decidi baixar o Apache e o PHP.
Apache (no meu caso é 64bits)
http://www.apachelounge.com/download/win64/
PHP
http://windows.php.net/download/#php-5.4
Instalei o Apache como serviço, testei no browser, tudo OK.
Descompactei o PHP, segui os passos de configuração do Apache, decidir instalar o PHP como módulo do Apache.
Quando fui iniciar o serviço do Apache deu o seguinte erro:
The Apache service named |
reported the following error: >>> |
httpd.exe: Syntax error on line 497 of C:/Apache24/conf/httpd.conf: Cannot load C:/php/php5apache2_4.dll into server: %1 n\xe3o \xe9 um aplicativo Win32 v\xe1lido. |
Depois de alguns muitos minutos de busca no Google, consegui achar o caminho para resolver esse probleminha.
Nesse resposta consegui o link da versão 64bits do PHP, da versão atual.
http://stackoverflow.com/questions/8263297/cannot-load-php5apache2-2-dll/13510720#13510720
Tem um link para esse endereço
http://www.apachelounge.com/download/additional/
Fui na sessão Members e baixei a versão 64bits do PHP
PHP 5.4.13 available (x64 & x86)
http://www.apachelounge.com/viewtopic.php?p=24113
Fiquem na Paz!!!
domingo, março 10, 2013
Voltando as atividades aqui no Blog
HI,
Depois de alguns meses sem publicar uma só linha aqui nesse espaço que costumo compartilhar as soluções de problemas (na área da nossa profissão) que vou encontrando soluções pelo caminho, voltei a publicar.
Porque tanto tempo afastado?
Acabei ficando sem tempo. Tava numa época de preparativos pro meu casamento. Casei em fevereiro. Graças a Deus tá tudo uma maravilha.
Fiquem na Paz!!!
Depois de alguns meses sem publicar uma só linha aqui nesse espaço que costumo compartilhar as soluções de problemas (na área da nossa profissão) que vou encontrando soluções pelo caminho, voltei a publicar.
Porque tanto tempo afastado?
Acabei ficando sem tempo. Tava numa época de preparativos pro meu casamento. Casei em fevereiro. Graças a Deus tá tudo uma maravilha.
Fiquem na Paz!!!
Instalação manual do MySQL
HI,
Baixei a versão atual do MySQL Community Server e só tinha a versão 64 bits em zip pra baixar.
Segui essa receita de bolo e minha versão tá funcionando beleza.
http://dev.mysql.com/doc/refman/5.6/en/windows-install-archive.html
Pra manipular meu banco de dados instalei o MySQL Workbench
http://www.mysql.com/downloads/workbench/
Fiquem na Paz!!!
Baixei a versão atual do MySQL Community Server e só tinha a versão 64 bits em zip pra baixar.
Segui essa receita de bolo e minha versão tá funcionando beleza.
http://dev.mysql.com/doc/refman/5.6/en/windows-install-archive.html
Pra manipular meu banco de dados instalei o MySQL Workbench
http://www.mysql.com/downloads/workbench/
Fiquem na Paz!!!
Marcadores:
instalação,
manual,
MySQL
Assinar:
Postagens (Atom)