-
Conteúdo Similar
-
Por Caio Henrique Bottigelli
Olá, estou desenvolvendo um sistema em asp.net Framework MVC, usando o banco de dados Postgresql. Quando 2 usuários diferentes usam o sistema acontece conflito de informações, por exemplo, no cadastro de clientes, preciso vincular uma pessoa a um determinado cliente, caso 2 usuários estiverem usando, e os 2 fizerem essa ação de vincular pessoas a um cliente, no 2º usuário vai aparecer a pessoa que o 1º usuário vinculou. É como se o sistema estivesse usando uma única Lista e os 2 usuários estivessem compartilhando essa lista.
As variáveis de conexão não estão estáticas, toda vez que alguém entrar no sistema, vai ser criado uma nova instancia de conexão.
Alguém sabe como resolver esse conflito de informação entre usuários?
-
Por luizpaps
Boa tarde, tenho um winform com tabcontrol e 2 tabpages, na tabpage1 tenho um combobox vinculado ao banco MySql, quando seleciono um registro no combobox ele preenche os textbox da tabpage1 com os dados relativo àquele registro do banco, mas quando clico na tabpage2 para preencher outros textbox adicionais que não dependem do banco e volto para tabpage1, todos os textbox são apagados e o combobox fica desvinculado do banco, sem itens, alguém pode me ajudar a resolver esse problema? o código que uso para carregar o combobox está abaixo:
public void CarregaComboServidores() { try { if (cn.State == ConnectionState.Closed) cn.Open(); } catch (Exception ex) { MessageBox.Show("Erro ao Carregados dados da Tabela tservidores " + ex.Message + " contate o desenvolvedor", "SysDiárias - Erro de Conexão", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { string mSQLServidores = "select * from tservidores"; MySqlCommand cmdServidores = new MySqlCommand(mSQLServidores, cn); MySqlDataAdapter mdaServidores = new MySqlDataAdapter(cmdServidores); DataTable dtServidores = new DataTable(); cmbNome.DataSource = null; cmbNome.Items.Clear(); mdaServidores.Fill(dtServidores); cmbNome.DataSource = dtServidores; cmbNome.ValueMember = "idservidor"; cmbNome.DisplayMember = "nome"; cmbNome.SelectedIndex = (-1); cmbNome.Refresh(); if (cn.State == ConnectionState.Open) cn.Close(); } }
-
Por Querendo_ser_Nerd
Bom dia ,
Pessoal, realizei diversas pesquisas em Fórum e Artigos, meu caso seria, criei uma aplicação na qual realiza a importação de arquivo em XLS em um DataGridView , está carregando a informação a principio em uma coluna (Duvida as colunas no Excel algumas contem sinais e espaço como "Cód. Cliente" como faço select * from [plan1$] para retornar apenas pela posição da coluna ex. select [A1] from [plan1$] ) , certo , carreguei no DataGrid, creei um botão para carregar as informações do data grid para o BD Oracle, passei toda a configuração conexão e realizei o INSERT , mas não popula com as informações do grid na tabela, apenas quando no INSERT ...Values (1) por exemplo o mesmo inseri o valor na tabela no banco. Já realizei a depuração mas não consigo. Sou novo nessa linguagem. Obg pela Ajuda.
using System; using System.Data; using System.Data.OleDb; // intregração Excel using System.Data.OracleClient; using System.Windows.Forms; namespace WindowsFormsLog { public partial class Form4 : Form { public Form4() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); if(openFileDialog.ShowDialog()== System.Windows.Forms.DialogResult.OK) { this.textBox1.Text = openFileDialog.FileName; } } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { } public void button2_Click_1(object sender, EventArgs e) { string PathCpnn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + textBox1.Text + ";Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1';"; OleDbConnection conn = new OleDbConnection(PathCpnn); //LINQ c# OleDbDataAdapter myDbDataAdapter = new OleDbDataAdapter("Select * from [Plan1$]", conn); // planilha deve conter o nome Plan1 DataTable dt = new DataTable(); // armazena dado myDbDataAdapter.Fill(dt); dataGridView1.DataSource = dt; dataGridView1.Columns[0].HeaderText = "NROPEDCLIENTE"; //alterando nome das colunas // dataGridView1.Columns[1].HeaderText = "DTAINCLUSAO"; } private void Form4_Load(object sender, EventArgs e) { } public void button3_Click(object sender, EventArgs e) { string OracleConn = @"Data Source = ok; User ID =ok ; Password = ok; Unicode = True"; OracleConnection conexao = new OracleConnection(OracleConn); try { if (dataGridView1.Rows.Count > 1) { for (int i = 1; i <= dataGridView1.Rows.Count ; i++)//-1 { int dataGridView1 = Convert.ToInt32(this.dataGridView1.Rows[i].Cells[0].Value); conexao.Open(); OracleCommand comando = new OracleCommand ("insert into pedido values(@NROPEDCLIENTE)", conexao); comando.Parameters.AddWithValue("NROPEDCLIENTE", dataGridView1); comando.ExecuteNonQuery(); MessageBox.Show("Insert"); conexao.Close(); } } } catch (Exception) { MessageBox.Show("Erro ao inserir"); // Sempre finaliza aqui depuração } } } }
-
Por JhoniWillian
Boa Tarde Galera,
Estou com um problema ao converter um campo varchar criado no SQL Server ao consultar via Query dentro do c#.
Se eu pego a query:
SELECT IndProd1 as OP, Lx_Item as Item, Lx_Operacao as Operacao, DataLimite, Lx_LinhaReceita as Cliente, OpProgramada As OpProgramada FROM Production WHERE Lx_Operacao = '00025' AND Lx_CodEtapa = 'P' AND Lx_LinhaReceita = 'CATERPILLAR' AND CONVERT(DATETIME,DataLimite) = '01/12/2017' AND CONVERT(DATETIME,DataLimite) = '30/01/2018' //+ "AND DataLimite = '30/01/2018' " AND (DataLimite <> '---') AND DataLimite IS NOT NULL AND Inativo<>'E' AND PlanQty>(QtyPeca+QtySucata) ORDER BY startptrcol DESC,PlanDateEnd, Lx_Pedido, IndProd1, Indprod3 e jogo dentro do Banco SQL Server, ele me trás os resultados, nesse exemplo ai, esta me trazendo 5 linhas de resultados. Porém, quando faço via query dentro do c# para preencher um DataGrid, ele está dando esse erro: Additional information: The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
OBS: Se em vez de colocar a sequencia de datas eu colocar somente o 'AND DataLimite = '30/01/2018' ele me trás o resultado, porém, somente do dia do filtro e precisava que fosse entre esse intervalo.
O que posso estar errando galera? a query dentro do c# ta assim:
string strSql = "SELECT IndProd1 as OP, Lx_Item as Item, Lx_Operacao as Operacao, DataLimite, Lx_LinhaReceita as Cliente, OpProgramada As OpProgramada FROM Production " + "WHERE Lx_Operacao = '00025' " + "AND Lx_CodEtapa = 'P' " + "AND Lx_LinhaReceita = 'CATERPILLAR' " + "AND CONVERT(DATETIME,DataLimite) = '29/01/2018' " + "AND CONVERT(DATETIME,DataLimite) = '30/01/2018' " //+ "AND DataLimite = '30/01/2018' " + "AND (DataLimite <> '---') " + "AND DataLimite IS NOT NULL " + "AND Inativo<>'E' " + "AND PlanQty>(QtyPeca+QtySucata) " + "ORDER BY startptrcol DESC,PlanDateEnd, Lx_Pedido, IndProd1, Indprod3;"; //cria o objeto command para executar a instruçao sql OleDbCommand cmd = new OleDbCommand(strSql, conn_mes); //define o tipo do comando cmd.CommandType = CommandType.Text; //cria um dataadapter OleDbDataAdapter da = new OleDbDataAdapter(cmd); //cria um objeto datatable DataTable ops = new DataTable(); //preenche o datatable via dataadapter da.Fill(ops); //atribui o datatable ao datagridview para exibir o resultado dvgOpProgramada.DataSource = ops;
-
Por Erlen Fiuza
Olá pessoa.
Faz 2 dias que estou tentando conectar um app C# android e um banco sqlite. Já vi um monte de tutorial na internet, mas não funciona. Quando baixo os pacotes pelo NuGet eles vem diferentes (possivelmente atualizados) daí não consigo fazer funcionar. Coloco o endereço do banco e nada. Retorna uma exceção que não consegue conectar no banco, mas já confirmei o endereço até na documentação e nada. Parece macumba hehehe!
using Android.App; using Android.OS; using Mono.Data.Sqlite; using System; namespace AppAndroidSqlite { [Activity(Label = "AppAndroidSqlite", MainLauncher = true)] public class MainActivity : Activity { AlertDialog.Builder alerta; private string strConn = "URI=file:teste.db"; protected override void OnCreate(Bundle savedInstanceState) { alerta = new AlertDialog.Builder(this); base.OnCreate(savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); try { string insSQL = "select * from Alunos ORDER BY nome ASC"; SqliteConnection conn = new SqliteConnection(strConn); //SqliteCommand comando = new SqliteCommand(insSQL, conn); conn.Open(); alerta.SetMessage("Conectou!"); alerta.Show(); } catch (Exception e) { alerta.SetMessage(e.Message); alerta.Show(); } } } }
PS: 1- o arquivo do banco de dados está em: AppAndroidSqlite\AppAndroidSqlite\bin\Debug\ 2- estou fazendo a depuração direto no celular.
-