Witam. Jak zrobić aby edytować poszczególne komórki tabeli? Chciałbym także zrobić dodawanie i usuwanie poszczególnych rekordów. W takiej postaci jak zrobiłem niestety po zmianie hasła, jest ono ustawiane dla całej kolumny haseł. Jeszcze lepszym rozwiązaniem byłaby likwidacja rozwiązania z dodatkowym polem tekstowym do wpisywania hasła tylko zmiana go bezpośrednio w tabeli, zostałby więc tylko przycisk zmień hasło i tabela z danymi w której po zmianie hasła wciskało by się przycisk zmień hasło i zmiana by następowała. Poniżej kod rozwiązania i zrzut ekranowy jak wygląda wynik po połączeniu z bazą danych Oracle.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.Data.Odbc;
namespace program_komputerowy
{
public partial class Form1 : Form
{
OdbcConnection conn = new OdbcConnection();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
conn.ConnectionString =
"Driver={Microsoft ODBC for Oracle};" +
"Server= xe ;" +
"Uid= mojabaza ;" +
"Pwd= mojabaza2012 ;";
conn.Open();
System.Console.WriteLine(conn.Database + " " + conn.DataSource);
OdbcCommand sel = conn.CreateCommand();
sel.CommandText = "SELECT * FROM SPRZEDAWCY";
OdbcDataReader wyn = sel.ExecuteReader();
while (wyn.Read())
{
Console.WriteLine(wyn["id_sprzedawcy"] + " " + wyn["imie"] + " " + wyn["nazwisko"] + " " + wyn["login"] + " " + wyn["haslo"]);
}
wyn.Close();
// OdbcDataAdapter adapter = new OdbcDataAdapter(sel.CommandText, conn);
/* dataSet1.Clear();
adapter.Fill(dataSet1, "sprzedawcy");
dataGridView1.DataSource = dataSet1.Tables["sprzedawcy"];*/
dataSet1.Clear();
odbcDataAdapter1.Fill(dataSet1, "SPRZEDAWCY");
dataGridView1.DataSource = dataSet1.Tables["SPRZEDAWCY"];
conn.Close();
}
private void button2_Click(object sender, EventArgs e)
{
conn.ConnectionString =
"Driver={Microsoft ODBC for Oracle};" +
"Server= xe;" +
"Uid= mojabaza ;" +
"Pwd= mojabaza2012 ;";
conn.Open();
System.Console.WriteLine(conn.Database + " " + conn.DataSource);
string sel;// ="Update
sel = "Update Sprzedawcy set Haslo =?";
OdbcCommand upd = new OdbcCommand(sel, conn);
OdbcParameter o = new OdbcParameter();
o.Value = this.textBox1.Text;
upd.Parameters.Add(o);
int wyn = upd.ExecuteNonQuery();
Console.WriteLine("ilosc wierszy" + wyn);
conn.Close();
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
dataSet1.AcceptChanges();
}
private void odbcDataAdapter1_RowUpdated(object sender, OdbcRowUpdatedEventArgs e)
{
}
private void odbcConnection1_InfoMessage(object sender, OdbcInfoMessageEventArgs e)
{
}
private void bindingSource1_CurrentChanged(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}