Frågan#1
Jag har en DLL gjord i VB.NET där jag har dessa 2 funktionerna:
Public Function CreateMail(ByVal dt As DataTable) As String Implements Interfaces.IContact.ICreateMail
Dim SQL
Dim myDataReader As OleDbDataReader
Dim myOleDbCommand As OleDbCommand
Try
SQL = "SELECT ID,OrderRubrik,Ordermail,KreditRubrik,Kreditmail,FakturaRubrik,Fakturamail,PasswordRubrik,Passwordmail FROM Mallar WHERE ID=1"
Dim da As OleDbDataAdapter = New OleDbDataAdapter(SQL.ToString(), Me.myOleDbConnection)
Dim cmdb As New OleDb.OleDbCommandBuilder(da)
da.UpdateCommand = cmdb.GetUpdateCommand
' da.InsertCommand = cmdb.GetInsertCommand
' da.DeleteCommand = cmdb.GetDeleteCommand
da.Update(dt)
Me.myOleDbConnection.Close()
Return "OK"
Catch ex As Exception
Return ex.ToString()
End Try
End Function
Public Function GetMail() As DataTable Implements Interfaces.IContact.IGetMail
Dim SQL
Dim myDataReader As OleDbDataReader
Dim myOleDbCommand As OleDbCommand
Dim mdt As DataTable = New DataTable
mdt.Clear()
Try
SQL = "SELECT ID,OrderRubrik,Ordermail,KreditRubrik,Kreditmail,FakturaRubrik,Fakturamail,PasswordRubrik,Passwordmail FROM Mallar WHERE ID=1"
Me.myOleDbConnection.Open()
Dim da As OleDbDataAdapter = New OleDbDataAdapter(SQL.ToString(), Me.myOleDbConnection)
Dim cmdb As New OleDb.OleDbCommandBuilder(da)
da.Fill(mdt)
Me.myOleDbConnection.Close()
Return mdt
Catch ex As Exception
Return mdt
End Try
End Function
Sen har jag i ett program gjort i C# den här koden:
private void btnSave_Click(object sender, System.EventArgs e)
{
IContact cc;
cc=(IContact)Activator.GetObject(typeof(IContact),ConfigurationSettings.AppSettings["Contact"].ToString());
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("OrderRubrik", typeof(string));
dt.Columns.Add("Ordermail", typeof(string));
dt.Columns.Add("KreditRubrik", typeof(string));
dt.Columns.Add("Kreditmail", typeof(string));
dt.Columns.Add("FakturaRubrik", typeof(string));
dt.Columns.Add("Fakturamail", typeof(string));
dt.Columns.Add("PasswordRubrik", typeof(string));
dt.Columns.Add("Passwordmail", typeof(string));
DataRow dr = dt.NewRow();
dr["ID"] = 1;
dr["OrderRubrik"] = txtOrderRubrik.Text;
dr["Ordermail"] = txtOrderText.Text;
dr["KreditRubrik"] = txtKreditRubrik.Text;
dr["Kreditmail"] = txtKreditText.Text;
dr["FakturaRubrik"] = txtFakturaRubrik.Text;
dr["Fakturamail"] = txtFakturaText.Text;
dr["PasswordRubrik"] = txtPasswordRubrik.Text;
dr["Passwordmail"] = txtPasswordText.Text;
dt.Rows.Add(dr);
txtFakturaText.Text =cc.ICreateMail(dt);
}
private void Epostmallar_Load(object sender, System.EventArgs e)
{
IContact cc;
cc=(IContact)Activator.GetObject(typeof(IContact),ConfigurationSettings.AppSettings["Contact"].ToString());
DataTable dt = new DataTable();
dt = cc.IGetMail();
foreach(DataRow dr in dt.Rows)
{
txtFakturaRubrik.Text = dr["FakturaRubrik"].ToString();
txtFakturaText.Text = dr["Fakturamail"].ToString();
txtOrderRubrik.Text = dr["OrderRubrik"].ToString();
txtOrderText.Text = dr["Ordermail"].ToString();
txtKreditRubrik.Text = dr["KreditRubrik"].ToString();
txtKreditText.Text = dr["Kreditmail"].ToString();
txtPasswordRubrik.Text = dr["PasswordRubrik"].ToString();
txtPasswordText.Text = dr["Passwordmail"].ToString();
}
}
Det funkar fint att hämta infon men när jag sen ska uppdatera sparas en ny post i databasen istället för att uppdatera.
Kan inte förstå varför, någon som har ett tips?