Ir para conteúdo
Fórum Script Brasil

Paulo Jardim

Membros
  • Total de itens

    77
  • Registro em

  • Última visita

Tudo que Paulo Jardim postou

  1. public void cadastraUsuario() { UsuarioControl usr = new UsuarioControl(); UsuarioFields usf = new UsuarioFields(); usf.login = tbNome.Text; usr.Add( } Não sei o que adicionar nesse metodo add
  2. Galera, Criei meu Banco pelo DBdesign e usei o DAL creastor que me deu todos os controls, fields, validators e a procedures, Mas agora estou perdido em como utilizar isso. Por isso que digo que é mais sobre orientação a objeto que mesmo de .NET mas como meu programa é em .NET gostaria da ajuda de vocês. A questão é a seguinte. Tenho um webform que tem 2 tb e 2 bt usuario .............. senha ............... gostaria de inserir isso no banco. para isso tenho o metodo. #region Inserindo dados na tabela /// <summary> /// Grava/Persiste um novo objeto DeclaracaoFields no banco de dados /// </summary> /// <param name="FieldInfo">Objeto DeclaracaoFields a ser gravado.Caso o parâmetro solicite a expressão "ref", será adicionado um novo valor a algum campo auto incremento.</param> /// <returns>"true" = registro gravado com sucesso, "false" = erro ao gravar registro (consulte a propriedade ErrorMessage para detalhes)</returns> public bool Add( ref DeclaracaoFields FieldInfo ) { try { this.Conn = new SqlConnection(this.StrConnetionDB); this.Conn.Open(); this.Tran = this.Conn.BeginTransaction(); this.Cmd = new SqlCommand("Proc_Declaracao_Add", this.Conn, this.Tran); this.Cmd.CommandType = CommandType.StoredProcedure; this.Cmd.Parameters.Clear(); this.Cmd.Parameters.AddRange(GetAllParameters(FieldInfo, SQLMode.Add)); if (!(this.Cmd.ExecuteNonQuery() > 0)) throw new Exception("Erro ao tentar inserir registro!!"); this.Tran.Commit(); FieldInfo.idDeclaracao = (int)this.Cmd.Parameters["@Param_idDeclaracao"].Value; return true; } catch (SqlException e) { this.Tran.Rollback(); //this._ErrorMessage = string.Format(@"Houve um erro imprevisto ao tentar inserir o(s) registro(s) solicitados: Código do erro: {0}, Mensagem: {1}, Procedimento: {2}, Linha do erro {3}.", e.ErrorCode, e.Message, e.Procedure, e.LineNumber); this._ErrorMessage = string.Format(@"Houve um erro imprevisto ao tentar inserir o(s) registro(s) solicitados: {0}.", e.Message); return false; } catch (Exception e) { this.Tran.Rollback(); this._ErrorMessage = e.Message; return false; } finally { if (this.Conn != null) if (this.Conn.State == ConnectionState.Open) { this.Conn.Dispose(); } if (this.Cmd != null) this.Cmd.Dispose(); } } #endregion Tb tenho isso: public class UsuarioFields { private int _idUsuario = 0; /// <summary> /// Tipo de dados (DataBase): Int /// Somente Leitura/Auto Incremental /// </summary> public int idUsuario { get { return _idUsuario; } set { _idUsuario = value; } } private string _login = string.Empty; /// <summary> /// Tipo de dados (DataBase): varchar /// Preenchimento obrigatório: Sim /// Estilo: Normal /// Tamanho Máximo: 10 /// </summary> public string login { get { return _login.Trim(); } set { _login = value.Trim(); } } private int _senha = 0; /// <summary> /// Tipo de dados (DataBase): int /// Preenchimento obrigatório: Sim /// Permitido: Maior que zero /// </summary> public int senha { get { return _senha; } set { _senha = value; } } public UsuarioFields() {} public UsuarioFields( string Param_login, int Param_senha) { this._login = Param_login; this._senha = Param_senha; } } e isso:
  3. Galera, Estou desenvolvendo um sistema mais estou em dúvida sobre como modelar meu banco. Segue abaixo uma simplificação de como funcionará: EX: Uma loja tem um numero e uma razão social. Um auditor tem um login e uma planilha onde ele irá anotar as seguintes informações sobre as vendas da loja Data; N. Ponto de venda (PDV); Tipo de Documento; que pode ser Redução Z( RDZ) recarga, devolução, seguro garantia, etc. N. Documento; Valor Total por cada Documento. Observações E o nome do auditor. Além disso existem 3 tipos de declaraçõs de vendas. Uma feita pelo auditor, outra pelo dono da loja e mais uma. qual a melhor forma de modular esse banco? E quanto essa última regra. Como façõ pra ter declarações de uma mesma data e organizar isso? Além disso nçao entendo como fazer para que uma loja tenha vários pontos de vendas e quantidades diferentes OBS: estou usando Dbdesign. Grato Paulo Jardim
  4. Perfeito Xistyle Olha só :) private void DeletaRegistro() { try { string sSql = ""; sSql = "DELETE FROM Aluno WHERE Nome = '" + tbNome.Text + "' "; dados dado = new dados(); dado.ExecutaAcao(sSql); } catch (Exception ex) { throw (ex); } } Rs agora já enteni como funciona... :) acho que estou pegando o ojeito muito obrigado mesmo.... Agora preciso de sua ajuda pro select :)
  5. Sabe me dizer porque da erro nessa parte? static string mycon = "Data Source=SNSWS20\servidor;Initial Catalog=db_cadastro_aluno;Integrated Security=True"; sequência de escape não reconheçida...ou algo desse tipo.
  6. Bom já entendi... Agora tenho de fazer esses dados retornar em um data table né? vou tentar
  7. porque ta dando erro aqui? cmd.Connection = sqlconn; diz que não existe nesse contexto.
  8. Consegui conctar e disconectar...ve se é assim: public class dados { string mycon = "Data Source=SNSWS20\servidor;Initial Catalog=db_cadastro_aluno;Integrated Security=True"; private void conecta() { SqlConnection sqlconn = new SqlConnection(mycon); sqlconn.Open(); } private void disconecta() { SqlConnection sqldisc = new SqlConnection(mycon); sqldisc.Close(); sqldisc.Dispose(); } } Agora vou tentar: 3) Rotina para executar comandos não selecionáveis (INSERT/UPDATE/DELETE) 4) Rotina para executar comando selecionável (SELECT) Poderiam me ajudar com esses 2 últmos?
  9. é e não consigo aparece o metodo open no sqlconn... rs
  10. Sim, mas mesmo sem ele tava dando erro...ai fui ver o error ele disse que era pra num era statico... Ai botei Static deu certo...mais não entendi porque... static string mycon = "Data Source=SNSWS20\servidor;Initial Catalog=db_cadastro_aluno;Integrated Security=True"; SqlConnection sqlconn = new SqlConnection(mycon);
  11. num sai do lugar ainda...só lendo na net mais muita informação diferente... tava tentando fazer só isso mais já ta dando erro... public class dados { string mycon = ("Data Source=SNSWS20\servidor;Initial Catalog=db_cadastro_aluno;Integrated Security=True"; SqlConnection sqlconn = new SqlConnection(mycon); }
  12. Vou tentarm, na verdade já vi que preciso mesmo dessa classe conforme você descreve aacima.. acho que com isso entenerei melhor como funciona.... vou começar agora criando minha classe
  13. FUi tentar fazer... FIcou essa doideira...que eu num entendi...rs static string myConnectionName = "conn"; string conexao= ""; string myConnectionString = ConfigurationManager.ConnectionStrings[myConnectionName].ConnectionString.ToString(); private void CarregaDados() { SqlDataAdapter _da = new SqlDataAdapter(); DataSet _dataSet = new DataSet(); SqlConnection _conexao = new SqlConnection(myConnectionString); SqlCommand _command = new SqlCommand(conexao); _command.CommandText = "SELECT * from Aluno"; _conexao.Open(); _da.Fill(_dataSet, "Retorno"); DataTable _dados = _dataSet.Tables["Retorno"]; foreach (DataRow _linha in _dados.Rows) { tbNome.Text = _linha["Nome"].ToString(); tbTelefone.Text = _linha["Telefone"].ToString(); tbID.Text = _linha["idALuno"].ToString(); } }
  14. Quero dizer... eu gotaria de saber como colocar esse código aqui e onde...se é na minha classe de conxão ou onde é,... Tem sim. Quando o usuário abrir a tela que você deseja já ter todos os dados carregados, coloque uma chamada de uma rotina que preencha todos os campos no Form Load: CODE private void Form_Load(object sender, System.EventArgs e) { CarregaDados() } private void CarregaDados() { SqlDataAdapter _da = new SqlDataAdapter(); DataSet _dataSet = new DataSet(); SqlConnection _conexao = new SqlConnection(SUASTRINGCONEXAO); SqlCommand _command = new SqlCommand(conexao); _command.CommandText = "SELECT nome, idade, profissao FROM pessoa"; _conexao.Open() _da.Fill(_dataSet, "Retorno"); DataTable _dados = _dataSet.Tables["Retorno"]; foreach (DataRow _linha in _dados.Rows) { txtNome.Text = _linha["nome"].ToString(); txtIdade.Text = _linha["idade"].ToString(); txtProfissao.Text = _linha["profissao"].ToString(); } }
  15. Valeu Xistyle, mas eu posso reaproveitar a minha classe de conexão de que forma? Esse metodo abaixo serve pra me retornar um datatable? public SqlDataReader RecordSet { // Metodo para ler os registros get { return _rsData; } } Se não como faria isso? me desculpe mais sou ignorante ainda nessa linguagem.
  16. Galera.... Sendo que há uma classe de conecção que tem um método para retornar os valores... só que como achei isso na internet ainda não sei utilizar....Poderiam me ajudar? #region Definicao de Metodos public void ExecuteCommand(string myConnectionName, string myQueryString) { // Metodo responsavel por executar uma instrução SQL // Recebe como parametro o nome de uma chave do arquivo web.config que contem string de conexão e // a instrução SQL a ser executada pode ser um SELECT ou uma procedure (preferencialmente) // Utililizo Tray..Catch para tratamento de erro try { // Definir valores padrões das variaveis _ErrorMessage = ""; _State = false; // Se não for passado nenhuma chave de conexão do arquivo web.config // vou setar uma chave padrão de conexão do arquivo Web.Config if (myConnectionName.Length == 0) { // Aqui estou indicando o nome da chave que contem a string de conexão no arquivo web.config myConnectionName = "conn"; } string myConnectionString = ConfigurationManager.ConnectionStrings[myConnectionName].ConnectionString.ToString(); // Se não for informado comando T-SQL retorno error if (myQueryString.Length > 0) // Se realmente foi passado um comando a ser executado { // Inicio uma conexão com o banco de dados SqlConnection myConnection = new SqlConnection(myConnectionString); // Abro a conexão myConnection.Open(); // Inicio um comando SqlCommand myCommand = new SqlCommand(myQueryString, myConnection); // Executo um comando com ExecuteReader, pois este retorna dados a um SqlDataReader _rsData = myCommand.ExecuteReader(); // Executo do comando _State = true; // Indico o status da operação _CompleteCommand = true; } } catch (Exception ex) { // Em caso de erro seto as variaveis abaixo _ErrorMessage = ex.Message.ToString(); _State = false; _ErrorNumber = ex.GetHashCode(); } } public SqlDataReader RecordSet { // Metodo para ler os registros get { return _rsData; } } public int ErrorNumber { // Metodo para ler ultimo código de error get { return _ErrorNumber; } } public string ErrorDescription { // Metodo para ler ultima descrição de error get { return _ErrorMessage; } } public bool ConnectionState { // Metodo para ler ultimo status da conexao get { return _State; } } public bool CompleteCommand { // Metodo para ler status do ultimo comando executado. get { return _CompleteCommand; } } #endregion }
  17. Gaelra... o método abaixo é o que insere registros no banco... public void InsereRegistro() { try { string sSQL = ""; sSQL = "INSERT INTO Aluno (Nome, Telefone)" + " VALUES ('" + tbNome.Text + "', '" + tbTelefone.Text + "') "; clsConexao ObjConexao = new clsConexao(); ObjConexao.ExecuteCommand("conn", sSQL); Porém, como faço pra selecionar os registros do banco, de forma que no load da página ele já coloque o último cadastrado nos campos, depois se eu clicar em anterior ele retorna para o registro anterior, e o contrario com o próximo registro?
  18. Perfeito Xstyle Muito birgado pelas dicas, Vou continuar co meu projeto de criar meu software...ternho certeza que muitas dúvidas vão surgir :P Até agora fico grato pela ajuda.
  19. Perfeito.. Agora porque ta pedindo o ID no banco de dados? Tipo, não era pra ele criar sozinho? que estou fazendo de errado?
  20. Prezados, Poderia me ajudar a construir uma String que será enviada como parametro para um SqlCommand? O que esta Comentado é o qye achei no tutorial da internet. Mas no caso não entendi bem. Eu tenho apenas 2 textbox com nome de tbNome e tbTelefone e no meu banco de dados tenho os campos idAluno, Nome e telefone. Esse procedimento será executado ai clicar no botão enviar. minha idéia é inserir esses registros no banco. ´public void InsereRegistro() { try { string sSQL = ""; //sSQL = "sp_Campanha " + // " @Tipo =1," + // " @CampanhaTitulo = '" + _campanhatitulo.ToString() + "', " + // " @CampanhaDescricao = '" + _campanhadescricao.ToString() + "', " + // " @IDArquivo = '" + _upload.ToString() + "', " + // " @Destaque = '" + _destaque.ToString() + "', " + // " @CampanhaCanais = '" + _campanhacanais.ToString() + "', " + // " @CampanhaEmpresas = '" + _campanhaempresa.ToString() + "', " + // " @dtInicial = '" + _dtInicial.ToString() + "', " + // " @dtFinal = '" + _dtFinal.ToString() + "'"; clsConexao ObjConexao = new clsConexao(); ObjConexao.ExecuteCommand("conn", sSQL);
  21. Já passei por um problema parecido Eu fiz um programa que a partir de uma esturtura armazenava os dados em um TXT e funcionava como um banco de dados.... Existe uma função no c que localiza a posição de do "dado no texto" depois de localizar você pode adita-lo. Segue um exemplo: case 8 : garotas = fopen("garotas.txt", "r+") // O arquivo tem de estar em modo de edição "r+" fscanf(garotas, "%s", &banco.status); // Escaneia o arquivo e armazena o dado em banco.status. fseek (garotas, 0, SEEK_CUR); // percorre o arquivo do 0 até a posição atual. tamfile=ftell (garotas); // armazena essa posição na variavel tamfile. //DEPOIS fseek ( garotas , tamfile-1 , SEEK_SET ); // Agora ele seta o cursor na posição tamfile -1 que é exatamente onta ta o status que quero alterar. fputs ( "A" , garotas ); // altero o status que antes de 'X' para 'A' Além disso a tem de ser declarado a várivavel: fpos_t position; essas funções fazem parte da <stdio.h> Caso tenha mais dúvidas procure referencias sobre essas funções acima. Espero ter ajudado. Paulo Jardim
  22. Galera terminei o programa... Depois de 1.200 linhas de códico. Se alguém precisar do código fonte ou tirar dúvidas de como fazer pode me mandar e-mail: inf-paulo@bol.com.br
  23. Bom galera o trabalho ficou quase perfeito, utilizei filtros e tudo mais... entretanto agora só tenho uma dúvida...como faço pra deletar apenas uma linha específica do txt? case 7 : garotas = fopen("garotas.txt", "rb"); // Listar Garotas system("color 5F"); n_garotas=0; system("cls"); printf("\n\t\t\tDigite o nome da Garota que deseja deletar\n\n\n"); fflush(stdin); gets(del); fseek (garotas , 0 , SEEK_END); tamfile = ftell (garotas); rewind (garotas); if (tamfile == 0) printf ("\n\n\t\tVc não tem contatos, favor cadastrar"); else while(!feof(garotas)) { fscanf(garotas, "%s", &banco.nome); for(i=0;banco.nome[i]!='';i++) if(banco.nome[i]=='_') banco.nome[i]=' '; fscanf(garotas, "%s", &banco.corcabelo); for(i=0; banco.corcabelo[i]!='';i++) if (banco.corcabelo[i]== '_') banco.corcabelo[i]=' '; fscanf(garotas, "%s", &banco.cor_olho); for(i=0; banco.cor_olho[i]!='';i++) if (banco.cor_olho[i]== '_') banco.cor_olho[i]=' '; fscanf(garotas, "%f", &banco.valor_hora); qtd_letras = strlen (del); for(qtd_letras+1; qtd_letras <= 30; qtd_letras++) del[qtd_letras] = ('_'); for(i=0; del[i]!= ''; i++) if (del[i] == '_') del[i] = ' '; if (strcmp (banco.nome, del) == 0 ) { printf("\n\n\nDeletando contato\n\n"); //aqui que o bixo pegou printf("%s | %s | %s | %.2f \n", banco.nome, banco.corcabelo, banco.cor_olho,banco.valor_hora); } } fclose(garotas); getch(); main(); break;
×
×
  • Criar Novo...