Importar e gravar BD com C#
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
}
}
}
}Discussão (1)
Carregando comentários...