Då min applikation krashade ordentligt, så när jag nu skall bygga om den, så vill jag ändra ifrån OleDb till SqlClient. Lägg till: <b>"jag hittar inte DataSet i classen SqlClient."</b> Hej och tack, den biten tycks fungera men inte detta: Du verkar anväder en lokal server då brukar jag använda mig av strängen; Nu har jag lyckats: du bör deklarera con som private i stället för public Jag måste kompletera med någon fråga. Gennerällt gäller detta;Från OleDb till SqlClient
Min första fråga, jag hittar inte DataSet i classen SqlClient.
Vad och hur skall jag ersätta detta?
Ett ex, så här brukar jag göra:
<code>
using System.Data;
using System.Data.OleDb;
private OleDbConnection con;
private OleDbDataAdapter da;
private OleDbDataAdapter da1;
private DataSet ds;
private DataSet ds1;
string SQLstring ="SELECT Songtitel,hide FROM t_Songtitlar ORDER BY Songtitel";
da1 = new OleDbDataAdapter(SQLstring, con);
ds1 = new DataSet("frånTitel");
con.Close();
con.Open();
da1.Fill(ds1,"frånTitel");
con.Close();
int rader = ds1.Tables["frånTitel"].Rows.Count;
nr = new String[rader];
this.Update();
listBoxFyllTitlar.Items.Clear();
for(int a = 0;a < rader; a++)
{
if((bool)ds1.Tables["frånTitel"].Rows[a]["hide"])
{
saw2.Skiva ny = new saw2.Skiva(ds1.Tables["frånTitel"].Rows[a]["Songtitel"].ToString(),true);
listBoxFyllTitlar.Items.Add(ny);
}
else
{
saw2.Skiva ny = new saw2.Skiva(ds1.Tables["frånTitel"].Rows[a]["Songtitel"].ToString(),false);
listBoxFyllTitlar.Items.Add(ny);
}
}
</code>
Hur skulle ja skriva om detta så att det stämmer med SqlClient.
(jag hoppas att ni ursäkta att jag tog med denna kod, men det är nog enda möjligheten för mig att kunna förstå,Sv: Från OleDb till SqlClient
using System.Data.SqlClient
Sedan skall det inte vara någon skillnad. Du använder bara SqlClient isälletr för OleDbSv: Från OleDb till SqlClient
Det är för att DataSet är en klass som ligger under "System.Data" och kan användas med alla databasanslutningar.
Sen är det precis som Peter säger...
using System.Data.SqlClient;
SqlDataAdapter istället för OleDbDataAdapter osv.Sv: Från OleDb till SqlClient
<code>
con.Open();
con.Close();
</code>
con kommer ifrån:
<code>
con = "Data Source=; Initial Catalog=Melodi; Integrated security=SSPI;";
</code>
Gör jag fel, eller skall jag ha några andra kommandon?
Sv: Från OleDb till SqlClient
SqlConnection MinVariabel=new SqlConnection (@"Data Source=(lokal);Intergrated Security=SSPI;" + "Initial Catalog=Din databas"
MinVariabel.Open;
PeterSv: Från OleDb till SqlClient
<code>
private SqlConnection con;
//under ToDo
string CONstring = "Data Source=; Initial Catalog=Melodi;Trusted_Connection=yes";
con = new SqlConnection(CONstring);
</code>
Just nu så är lyckan fullständig.Sv: Från OleDb till SqlClient
private SqlConnection con;
sedan vet jag inte villken sql databasdu har
Jag såg någott stavfel. Kolla upp din stavning,(jag brukar själv stava fel)
SqlConnection con = new SqlConnection (@"Data SOURCE=(lokal);Integrated Security=SSPI;" + "Initial Catalog=Melodi");
Jag tror att det skall var såhär.
MVH peterSv: Från OleDb till SqlClient
Hitintills så har allting fungerat kanon, tack vare er hjälp, men i min delete/ny/uppdate kod så har jag lite kommandon som jag skulle behöva hjälp med:
<code>
OleDbCommand mDeleteCommand=new OleDbCommand(sqlDelete,con);
OleDbCommand mInsertCommand=new OleDbCommand(sqlInsert,con);
OleDbCommand mUpdateCommand=new OleDbCommand(sqlUppdate,con);
con.Open();
OleDbDataAdapter mAdapter=new OleDbDataAdapter(); //här läggs classen
mAdapter.DeleteCommand = mDeleteCommand;
mAdapter.InsertCommand = mInsertCommand;
mAdapter.UpdateCommand = mUpdateCommand;
mAdapter.Update(ds,"frånCD_Album");
</code>
Hur bör jag skriva för att SQL2000 skall exceptera det?Sv: Från OleDb till SqlClient
OleDbDataAdapter da=new OleDbDataAdapter(”sql-sträng”,con);
con är av typen OleDbConnection
DataSet ds=new DataSet();
da.fill(ds,”Namn”);
da är av typen OleDbDataAdapter
Använde inte du inte SqlClient isälletr för OleDb ??
Om det är så; får du byta ut OleDb mot SqlClient
MVH PETER