Hallo Coffeebean,
also so:
SqlCommand cmdS = new SqlCommand(cmd, conn);
using (SqlDataAdapter daChd = new SqlDataAdapter(cmdS))
{
daChd.Fill(dtChildTab);
}
return dtChildTab
Das ganze ist in einer Klasse mit allen SqlBefehlen.
dtChildTab kommt als ref Parameter rein.
internal void ZuordGetChildData(Stammdaten.ZuordTyp typ, string masterNr, ref DataTable dtChildTab)
Gruß Simon
verwendetes Datenbanksystem: SQL
Hallo zusammen,
ich habe eine Frage, wie umgehe ich offene DataReader?
ich habe ein Formular mit 3 DataGridViews
Die daten werden geladen mit:
SqlCommand cmdS = new SqlCommand(cmd, conn);
SqlDataAdapter daChd = new SqlDataAdapter(cmdS);
daChd.Fill(dtChildTab);
Es werden pro grid verschiedenen daten geladen.
Wenn die Daten nun zu schnell geladen werden, sagt mit C# es gibt noch einen offenen Reader. Was mache ich das falsch
Gruß Simon
Hallo zusammen,
irgendwie stehe ich auf dem Schlauch.
Ich habe 2 Programme geschrieben.
Nun würde ich gerne in Prog1 mit einem Parameter ein Startverhalten erzeugen (z.B. Formular öffnen) Dieses habe ich mittels der "Parameterfunktion" gemacht.
Wenn ich das Programm mit einem bestimmt Parameter öffne klappt alles.
[STAThread]
static void Main(String[] args)
{
if (args.Length == 1)
startArg = args[0];
.....
Nun ist es so das dieses Programm nur einmal gestartet werden soll.
Daher folgender Code:
try
{
//Get the running instance.
Process instance = null;
instance = RunningInstance();
if (instance == null)
{
// If no other instance of program is running, show form
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new AppForm());
}
else
{
// There is another instance of this process, do not allow second
HandleRunningInstance(instance);
}
}
catch (Exception Ex)
{
MessageBox.Show(Ex.ToString());
}
und noch:
public static Process RunningInstance()
{
Process current = Process.GetCurrentProcess();
Process[] processes = Process.GetProcessesByName(current.ProcessName);
//Loop through the running processes in with the same name
foreach (Process process in processes)
{
//Ignore the current process if
if (process.Id != current.Id)
{
//Make sure that the process is running from the exe file.
if (Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == current.MainModule.FileName)
return process;
}
}
return null;
}
public static void HandleRunningInstance(Process instance)
{
//Make sure the window is not minimized or maximized
//ShowWindowAsync(instance.MainWindowHandle, WS_SHOWNORMAL);
ShowWindowAsync(instance.MainWindowHandle, SW_SHOWMAXIMIZED);
//Set the real intance to foreground window
SetForegroundWindow(instance.MainWindowHandle);
}
[DllImport("User32.dll")]
private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow);
[DllImport("User32.dll")]
private static extern bool SetForegroundWindow(IntPtr hWnd);
private const int SW_HIDE = 0;
private const int SW_SHOWNORMAL = 1;
private const int SW_SHOWMINIMIZED = 2;
private const int SW_SHOWMAXIMIZED = 3;
private const int SW_SHOWNOACTIVATE = 4;
private const int SW_RESTORE = 9;
private const int SW_SHOWDEFAULT = 10;
Mein großes Problem ist, das ich nun diesen Parameter nicht "rüber bekomme" wenn meine Anwendung schon läuft.
Hat jemand von euch vielleicht eine Ahnung wie das funktionieren könnte?
Gruß Simon
Ich habe mal angefangen das ganze ohne config-Files zu machen und alles Hardcodiert programmiert.
Weiteres folgt in kürze!
richtig im code mach ich nur das open.
Das komische ist halt das VS es mal macht und mal nicht.
Kannst du mir ein tutorial empfehlen wo die endpunkte im Quellcode definiert werden? Habe das bisher nur mit configfile gesehen.
In der Fehlermeldung steht:> Fehlermeldung:
Es wurde kein standardmäßiges Endpunktelement gefunden, das auf den Vertrag "IPCServiceHost.IIPCService" im ServiceModel-Clientkonfigurationsabschnitt verweist. Dies kann folgende Ursachen haben: Für die Anwendung wurde keine Konfigurationsdatei gefunden, oder im Clientelement wurde kein Endpunktelement gefunden, das diesem Vertrag entsprach.
Allerdings steht in der app.config drin:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</configuration>
Also Nix
Die beiden config Dateien der Dienste:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="NetTcp_Reliable">
<reliableSession ordered="false" inactivityTimeout="infinite" enabled="true" />
</binding>
</netTcpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="IPCServiceHost.IPCServiceBehavior">
<serviceMetadata httpGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="IPCServiceHost.IPCServiceBehavior"
name="IPCServiceHost.IPCService">
<endpoint address="" binding="netTcpBinding" bindingConfiguration="NetTcp_Reliable"
name="NetTcpBindingEndpoint" contract="IPCServiceHost.IIPCService" />
<endpoint address="mex" binding="mexTcpBinding" bindingConfiguration=""
name="MexTcpBindingEndpoint" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:9000/IPCService" />
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
</configuration>
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="NetTcp_Reliable">
<reliableSession ordered="false" inactivityTimeout="infinite" enabled="true" />
</binding>
</netTcpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="LoggerServiceHost.LoggerServiceBehavior">
<serviceMetadata httpGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="LoggerServiceHost.LoggerServiceBehavior"
name="LoggerServiceHost.LoggerService">
<endpoint address="" binding="netTcpBinding" bindingConfiguration="NetTcp_Reliable"
name="NetTcpBindingEndpoint" contract="LoggerServiceHost.ILoggerService" />
<endpoint address="mex" binding="mexTcpBinding" bindingConfiguration=""
name="MexTcpBindingEndpoint" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:9001/LoggerService" />
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
</configuration>
Manchmal geht VS auch hin und fügt automatisch werte in die app.config der ClientAnwendung ein und manchmal nicht: Komisch!
Hallo zusammen,
ich habe eine Frage, ich habe folgendes Problem.
Ich habe 2 WCF Dienste (als Windows-Dienst) erstellt und diese beiden Laufen auch.
Wenn ich nun Dienst 1 Einbinde in eine WindowsForms Anwendung klappt das nicht. Nur bei dem zweiten Dienst gibt es Probleme. Als Beispiel wir die app.config nicht erweitert.
Weiß jemand vll woran das liegen kann?
Gruß Simon
@ProGamer
Es handelt sich hier bei nicht um einen WebServer.
Hallo,
Ich habe inactivityTimeout und receiveTimeOut auf "infinite" gesetellt.
Keine Änderung 😦
Hallo zusammen,
ich habe einen WCF-Windows-Dienst geschrieben der Variablen speichert. Nun erstellte ich einen Client zum lesen und schreiben, doch wenn ich 10 Min nix mache, wird die Verbindung automatisch vom Dienst (denke ich) getrennt.
<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
Wie kann ich dieses aufheben? Die Verbindung soll nicht geschlossen werden.
Gruß Simon
Hallo,
ich bin recht neu in dem Thema IPC und weiß nicht genau wo/wie ich anfangen soll.
Kurz zum Thema/Problem:
Leider sehe ich bei so vielen Artikeln und Internetseiten den Wald für lauter Bäumen nicht mehr 😦
Hoffe jemand kann mich wieder auf den richtigen Weg bringen.
Danke und Gruß
Simon
Kann ich denn auf dem raspberry mit C# arbeiten?
also unter Linux.
Abend,
ich habe mal eine Hardware Frage.
Gibt es so eine Art MiniPC, auf dem Windows läuft?
So in der Art des RaspBerryPI, falls den jemand kennt.
Wollte meine Software erst darauf programmieren, aber C# ist da nicht so der Hit.
Danke schon mal für die Tipps.
Gruß Simon
Hallo Rabban,
das ist richtig, allerdings kann ich den TransparentProxy nicht einer PictureBox zuweisen. Wie kann ich sowas denn wieder in ein Image-Object umwandeln??
Was meinst du mit deine Benennungen und Schreibweise sind suboptimal, was könnte man denn verbessern?
Hallo zusammen,
ich habe eine Problem mit dem senden von eigenen Objekten beim Remoting.
Ich habe einen Remoting Channel mit Full.
Start des Server:
public static RemoteObject StartServer()
{
BinaryServerFormatterSinkProvider serverSinkProvider = new BinaryServerFormatterSinkProvider();
serverSinkProvider.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;
BinaryClientFormatterSinkProvider clientSinkProvider = new BinaryClientFormatterSinkProvider();
System.Collections.IDictionary TcpChannelProps = new System.Collections.Hashtable();
TcpChannelProps["name"]="CoreIPC";
TcpChannelProps["port"]="34502";
chanSrv = new TcpChannel(TcpChannelProps, clientSinkProvider, serverSinkProvider);//, null, null);
if (ChannelServices.GetChannel(chanSrv.ChannelName) == null)
ChannelServices.RegisterChannel(chanSrv, false);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemoteObject), "RemotingServer_IPC", WellKnownObjectMode.SingleCall);
RemoteObject remObject = (RemoteObject)Activator.GetObject(typeof(RemoteObject), "tcp://localhost:34502/RemotingServer_IPC");
if (remObject == null)
throw new Exceptions.NullReferenceRemotingException();
else
return (remObject);
}
Dieses Objekt:
[Serializable]
public class PictureObject
{
public enum PictureState { Unknown, TakePicture, SendPicture, PictureCreated, PictureFailed };
private Int64 nSize;
private System.Drawing.Image oPicture;
private PictureState oState;
private Guid oId;
public Int64 Size
{
get { return nSize; }
set { nSize = value; }
}
public System.Drawing.Image Picture
{
get { return oPicture; }
set { oPicture = value; }
}
public PictureState State
{
get { return oState; }
set { oState = value; }
}
public Guid PictureID
{
get { return oId; }
set { oId = value; }
}
public PictureObject(PictureState State)
{
oState = State;
}
public PictureObject()
{
}
Aber wenn ich dann z.B. das Image auslesen will steht dort beim Debugger nur System.Runtime.Remoting.Proxies.__TransparentProxy drin.
Bei GUID oder State sind richtige Werte dirn.
Weiß jemand wieso ich keine Images/Bitmaps übertragen kann?
Ich weiß das nicht die feine Englische Art ist. Allerdings soll das nur für die Testphase sein. Es handelt sich im einen Dienst, und damit ich in der Testphase nicht hunderte mal die Logging Datei öffnen muss wollte ich das mit einem Formular machen.
Morgen Diräkt,
ich habe vergessen zu erwähnen, das die Methode nicht in der gleichen klasse ist. Mit der Klasse soll eine ListBox gefüllt werden. Ich habe darauf aber keinen "direkten Zugriff"
Morgen zusammen,
ich suche eine Möglichkeit bei Änderung einer Variable (String) eine Methode auszuführen. Ich möchte das ungerne per Timer machen, da diese Änderung sehr schnell passieren kann (Logging)
Wie kann ich das am schönsten lösen?
Bin ich da bei Callbacks richtig?
Danke jetzt schon mal für eure Hilfen.
Gruß Simon
Kann ich also die Zuweisung nicht nutzen:
picLogo.DataBindings.Add("Image", bs1, "logo");
Welchen DB-Typen muss ich denn beim SqlServer wählen, hab dort nun Image gewählt, das sollte doch richtig sein oder?
Und eine Speicherung kann ich auch nicht mittel der BindingSource realisieren?
Hallo Zusammen,
ich möchte gerne ein Image einer Picturebox in einer SQL 2008 DB speichern. Doch bekomme ich immer beim speichern eine Fehlermeldung.
Fehlermeldung:
FormatException wurde nicht vom BenutzerCode behandelt
Der Wert kann nicht im gewünschten Typ formatiert werden.
Dieser Fehler tritt auf bei BindingSource.EndEdit()
So Setze ich das DataBinding:
picLogo.DataBindings.Add("Image", bs1, "logo");
Laden der Daten:
oFormData = new DataObjects.DsCustomer(oData.GetSqlConnection());
dtData = oFormData.LoadData();
dvData = dtData.DefaultView;
bs1.DataSource = dvData;
dgv.DataSource = bs1;
Wo mache ich den Fehler?
Gruß Simon
Hallo
gibt es die Möglichkeit in einem DataGridView statt den Indexen meiner Tabelle direkt die "richtigen" Werte anzuzeigen?
Habe 3 DataTables (1x MasterTabelle 2x ChildTabelle) in meinem Formular. Nun möchte ich gerne im Grid statt den Indexen z.b. 1 und 2 Direkt die Texte dazu anzeigen und die auch im Grid per ComboBox änderbar machen.
Außerhalb des Grid habe ich sowas habe ich das schon mal gemacht, allerdings noch nie im Grid selber.
Hoffe ihr könnte mir da vielleicht einen Tipp geben.
Vielen Dank jetzt schon mal.
Gruß Simon
Hallo zusammen,
kann ich auch irgendwie die Verbindung direkt wählen?
Also ohne bestätigung von Dialogfenstern etc.
Die Option ist schon deaktiviert, trotzdem muss ich nochmals bestätigen.
Gruß Simon
Also aus meiner sicht müsste ich ja irgendwie 2 Werte pro eintrag in der ArrayList übergeben/speichern. Der Bediener darf dies aber später nicht sehen.
Hallo zusammen,
ich habe mal eine Frage, ich habe mir eine kleine Klasse gebastellt womit ich einer Textbox recht bequem die daten für AutoCompleteCustomSource zuweisen.
Nun habe ich das Problem, das der Bediener später mal einen Text dort Eingeben kann und wenn der Eintrag gefunden wurde (also einer aus dieser Liste) so muss ich die entsprechende Nummer aus der Datenbank haben.
Geht das überhaupt damit?
Danke jetzt schon mal für eure Hilfe..
Klasse:
public void BindText(TextBox textBox, String tabelName, String fieldNr, String fieldName, String filterText)
{
AutoCompleteStringCollection aL = new AutoCompleteStringCollection();
ArrayList arL = new ArrayList();
String cFilter = "";
if (filterText != String.Empty)
cFilter = "WHERE " + filterText;
String cSqlCommand = String.Format("SELECT distinct {0}, {1} AS al FROM {2} {3}", fieldName, fieldNr, tabelName, cFilter);
using (SqlCommand Command = new SqlCommand(cSqlCommand, oData.GetSqlConnection()))
{
SqlDataReader dataReader = Command.ExecuteReader();
while (dataReader.Read())
{
String item = dataReader["al"].ToString();
aL.Add(item);
arL.Add(item);
}
dataReader.Close();
}
textBox.AutoCompleteSource = AutoCompleteSource.CustomSource;
textBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
textBox.AutoCompleteCustomSource = aL;
}
Danke für den tipp, habe mich jetzt für ProjectLocker entschieden.
Gibt es den einfache die lokal sind?
Abend,
ich bin auf der Suche nach einem SVN-Server.
Am besten so eine Art Mini-Server oder ToGo (gibt es ja glaub ich auch schon als "normale"-Webser mit PHP etc.
oder vll eine Free-Online Variante.
Ich möchte dort nur etwa 2-3 Projekte sichern und das für 2 oder 3 Benutzer.
Deshalb soll das ganze Recht klein halten.
Danke für eure Hilfe und Tipps.
Gruß Simon
Morgen zusammen,
ich habe mal eine Frage.
Ich möchte gerne ein selbstgebautes ActiveX Element (mit C Sharp) im Webserver von Win2003 (IIS) in einer Webseite einbinden. Vielleicht sagt jemandem ja der Begriff Webnavigator von Siemens etwas.
Mein Problem ist das ich nicht genau weiß wie ich das auf dem IIS einbinden muss, bzw auf den Clients zu installieren habe, damit das ganze auch funktioniert. An einem PC habe ich es bereits geschafft, allerdings hab ich da soviel ausprobiert, das ich nicht weiß wie ich es geschafft habe 😉
Hoffe ihr könnt mir das helfen.
Gruß Simon
Hallo zusammen,
ich habe mal eine Frage, gibt es auch die Möglichkeit Named pipes auch in C# mit Framework 2.0 (also Visual Studio 2005) einzusetzen? Ich habe dazu bisher nichts gefunden.
Oder gibt es etwas anderes gleichwertiges?
Danke für eure Hilfe.
Gruß Simon
Kurze frage zu dem Code, Kann es sein das der unter VS2005 nicht läuft?
Weil ich Probleme mit dem var und dem Intersect habe
Naja zur Zeit sehe ich wohl ehr vor lauter Bäumen den Wald nicht mehr.
Soweit bin ich bisher:
String cCurrentHaldenName = txtBezeichnung.Text.Trim();
Int32 nNewPosStart = Convert.ToInt32(txtPosVon.Text);
Int32 nNewPosEnde = Convert.ToInt32(txtPosBis.Text);
Boolean lPosOk = true;
// Prüfung Endposition größer Startposition
if (nNewPosEnde <= nNewPosStart)
MessageBox.Show("Fehler Positionen. Von muss kleiner als Bis sein.");
// Prüfung doppelter Bereich
for (Int32 nHaldenIdx = 0; nHaldenIdx < dtHaldEint.Rows.Count; nHaldenIdx++)
{
String cHaldenName = dtHaldEint.Rows[nHaldenIdx]["Bezeichnung"].ToString();
Int32 nVon = Convert.ToInt32(dtHaldEint.Rows[nHaldenIdx]["Von"]);
Int32 nBis = Convert.ToInt32(dtHaldEint.Rows[nHaldenIdx+1]["Bis"]);
if (cHaldenName == cCurrentHaldenName)
break;
if ((nNewPosStart >= nBis) || (nNewPosEnde <= nVon))
{
MessageBox.Show("Fehler mit " + dtHaldEint.Rows[nHaldenIdx]["Bezeichnung"].ToString());
lPosOk= false;
}
}
Hallo zusammen,
ich habe eine Frage, hat jemand schon mal Zahlenbereiche verglichen?
Ich habe z.B. folgende Bereiche:
0-15
30-45
60-100
Nun soll ein weiterer Bereich hinzugefügt werden, dieser darf aber nicht in die anderen Bereiche fallen. Also wäre 50-60 ok, 20-40 würde einen Fehler erzeugen.
Die Anzahl der Bereiche ist variable.
Hoffe ihr könnt mir da etwas Helfen.
Danke schon mal im Vorraus.
Gruß Simon
Kann ich damit das ganze wie beschrieben auch per Parameter machen also install/uninstall/start/stop und Dienstname??
Morgen zusammen,
In C# kann ich mir ja selber Dienste programmieren und dann als Parameter z.B. start stop oder so zu übergeben.
Kann ich das auch so machen, das ich dabei einen Dienstnamen übergebe?
also so: Service1 start Dienst1 oder Service1 start Dienst2
So das mein Dienst Service1 2 mal ausgeführt wird,.
Gruß Simon
Das ist nicht so einfach, da der Dienst sehr viele Aufgabe hat und ich diesen nicht einfach neustarten kann.
Hallo,
ich habe 2 PC's.
Auf PC1 läuft ein Dienst welcher auf Dateien von PC2 zugreift.
Nun kann es passieren das PC2 nicht läuft wenn PC1 bzw der Dienst gestartet wurde.
Der Zugriff erfolgt mittels OLEDB und \PC2\Freigabe\Test.txt
Nun habe ich das Problem wenn beim starten des Dienstes auf PC1 der PC nicht verfügbar ist, dann kann auch wenn der PC2 dann eingeschaltet wurde nicht darauf zugegriffen werden.
Erst ein Neustart des Dienstes hilft bisher.
Wie kann ich das besser lösen? Vielleicht habt ihr da ein paar Tipps für mich.
Gruß Simon
Hallo zusammen,
kann mir bitte jemand einen Tipp geben. Wie kann ich eine Bild, welches ich von einer Netzwerk Kamera auslesen (Hersteller Axis) am bsten in eine Sql-DB speichern.
bisher gehe ich hin und lese das Bild mit einem CGI befehl aus und lade es in eine PictureBox. Nun weiß ich aber nicht wie ich das Bild dann in einen Stream bzw. in ein Byte-Array gewandelt bekomme damit ich das der Datenbank hinzufügen kann.
Mit FileStream (also aus einer gespeichert Datei auf D:) klappt es schon.
Hoffe ihr habt da ein paar Tipps.
Danke jetzt schonmal.
Gruß Simon
Danke für den Tipp,
ich hatte überlegt es so zu lösen, das wenn ich in Formular 1 eine Taste Drücke z.B. 2 Sekunden, dann bekommt mein Formular ja mehrere KeyPress Events oder?
Somit dachte ich wenn das nächste Formular geöffnet wird, dann wir einfach der Tastenpuffer geleert. Geht so was mit C#?
Gruß Simon
Morgen zusammen,
ich habe mal eine Frage, wie kann ich einen Tastendruck (z.B. Return) der 3 Sekunden geht unterbinden?
Ich habe folgendes Problem: In meinem Programm melden sich die Bediener mittels einer Transponderkarte an, nun müssen sie verschiedene Abfragen bestätigen. Nun bekomme teilweise die Rückmeldung, das es manchmal passiert, das das Programm direkt von Formular 1 in Formular 3 springt. Also ein Form wird im Grunde direkt übersprungen. Daher liegt bei mir die Vermutung nahe, das entweder die Taste zu lange gedrückt wird oder die Tastatur eine Macke hat.
Dashalb möchte ich das Problem erstmal Softwareseitig versuchen zu unterbinden.
Danke jetzt schon.
Gruß Simon
Ich kann auch von Hand mittels des Server Explorer von VS 2005 nicht z.B. in ein Integer-Feld den Wert NULL eintragen.
p = sql.Parameters.Add("@pOrt", SqlDbType.NVarChar, 40);
p.IsNullable = true;
p.Value = ((rw.IsNull("ort") || (rw["ort"].ToString().Trim().Length == 0)) ? DBNull.Value : rw["ort"].ToString());
Hier kann ich keinen DBNull.Value einsetzen, dann bekommen ich die Meldung: Der Typ des bedingten Ausdrucks kann nicht bestimmt werden, weil keine implizite Konvertierung zwischen "System.DBNull" und "string" erfolgt.
Die Tabelle wurde mittels Sql-Befehl erzeugt:
CREATE TABLE kunden (kundennr numeric (6, 0) PRIMARY KEY, name1 nvarchar (50), name2 nvarchar (50), strasse nvarchar (40))
Sollte Also kein Problem sein, aus meiner Sicht.
verwendetes Datenbanksystem: SqlCE
Hallo zusammen,
ich habe mal eine kleine Frage zum Thema SqlCE.
Ich habe ein Handheld mit Windows CE 5.0 und den SqlCE (3.0 müsste es sein).
Nun habe ich eine Datenbank mit Tabellen etc angelegt. Aber aus irgendeinem Grund kann ich dort keine NULL Werte eintragen. Der Befehl dafür ist mit Parametern aufgebaut:
SqlCeParameter p;
sql.Parameters.Add("@pKnr", SqlDbType.Decimal).Value = Convert.ToDecimal(rw["kundennr"]);
p = sql.Parameters.Add("@pNa1", SqlDbType.NVarChar, 50); p.IsNullable = true; p.Value = ((rw.IsNull("name1") || (rw["name1"].ToString().Trim().Length == 0)) ? "": rw["name1"].ToString());
p = sql.Parameters.Add("@pNa2", SqlDbType.NVarChar, 50); p.IsNullable = true; p.Value = ((rw.IsNull("name2") || (rw["name2"].ToString().Trim().Length == 0)) ? "" : rw["name2"].ToString());
p = sql.Parameters.Add("@pStr", SqlDbType.NVarChar, 40); p.IsNullable = true; p.Value = ((rw.IsNull("strasse") || (rw["strasse"].ToString().Trim().Length == 0)) ? System.Data.SqlTypes.SqlString.Null : rw["strasse"].ToString());
Ich hoffe ihr könnte mir dabei vll helfen.
Danke jetzt schon mal.
Gruß Simon
Abend zusammen,
direkt mal als erste Info, dieses Thema ist für mich noch komplettes Neuland.
Also zu meiner Frage:
Ich habe eine Anwendung in C# mit einer SQL Datenbank die Daten verwaltet, Kunden, Personen, Fahrzeuge etc. Nun möchte ich gerne eine Weboberfläche/Webserver erstellen, mit dem ich Daten abfrufen kann und mir anzeige lasse, bzw. diese Daten auch ändern.
Zum Beispiel habe ich eine "Anforderung" bei Der Fahrzeug XYZ für Kunde ABC etwas holen soll. Nach das Fahrzeug dies dann wirklich getan hat, soll der Bediener mittels Weboberfläche diesen Vorgang bestätigen können und evtl noch Daten einfügen, wie z.B. Uhrzeit eingeben, oder einen Text.
Die Grundlegende Frage ist wie ich das am besten umsetzen kann?
Also welche Programmiersprache muss ich nehmen für wie WebApplication/Webseite?
Hoffe ihr könnt mir da auf den "richtigen" Weg helfen.
Danke jetzt schon mal
Gruß Simon
PS: Am opitimalsten wäre es wenn ich diese Webseite auch mit einem Handy aufrufen könnte, egal ob Android, oder was für ein OS das hat.
Danke für die Antwort, habs so gemacht:
switch (Convert.ToInt32(dgvMeldungen["Type", e.RowIndex].Value))
{
case 0:
e.CellStyle.BackColor = Color.LightSkyBlue;
e.CellStyle.SelectionBackColor = Color.LightSkyBlue;
break;
case 1:
e.CellStyle.BackColor = Color.LightCoral;
e.CellStyle.SelectionBackColor = Color.LightCoral;
break;
case 2:
e.CellStyle.BackColor = Color.LightGreen;
e.CellStyle.SelectionBackColor = Color.LightGreen;
break;
}
Die SelectionBackColor nutze ich nur zusätzliche noch, damit ich keine verfärbung durch die ausgewählte Row bekomme.
Das ganze mache ich im CellFormatting Event.
Gruß
Morgen zusammen,
ich möchte gerne eine DataGridView erstellen und man mag es kaum glauben dort sollen Daten angezeigt werden. Allerdings gibt es in meinem DataTable eine Column Names Status, dieser kann 0, 1 oder 2 sein. Je nach dem welchen Wert diese Column hat soll sich die Zeile des DataGridView einfärben, z.B. Rot, gelb oder grün.
Hat sowas schon mal jemand gemacht? und kann mir da ein paar Tipps geben.
Gruß Simon
Morgen zusammen,
manchmal bekomme ich wenn ich einen Report Ausdrucken will mittels:
dsReport = oDataLogic.LoadDataSetForReport(nLfsNr.ToString());
// Prüfung ob Daten vorhanden sind.
if ((dsReport != null) && (dsReport.Tables.Count > 0))
{
if (dsReport.Tables[0].Rows.Count == 0)
{
throw new Exception(String.Format("VerlTerm{0}: Keine Daten in dsReport vorhanden! (LfsNr ={1})", this.CfgObj.ModulID, nLfsNr.ToString()));
}
}
// Repport Laden und DataSet übergeben
if (rp == null)
{
rp = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
rp.Load(cRepFile);
rp.PrintOptions.PrinterName = cPrinterName;
}
// DataSet zuweisen
rp.SetDataSource(dsReport); // HIER TRITT DER FEHLER AUF
folgende Fehlermeldung:
CrystalDecisions.CrystalReports.Engine.InternalException:
Fehler in Datei C:\WINDOWS\TEMP\Lieferschein_PSI {A4031FCD-D449-4841-BAB3-F0B4B29367C9}.rpt:
Die Anforderung konnte nicht für die Hintergrundverarbeitung übergeben werden. ---> System.Runtime.InteropServices.COMException (0x800002AD):
Fehler in Datei C:\WINDOWS\TEMP\Lieferschein_PSI {A4031FCD-D449-4841-BAB3-F0B4B29367C9}.rpt:
Die Anforderung konnte nicht für die Hintergrundverarbeitung übergeben werden.
Woran kann sowas liegen?
Danke schon mal für eure Hilfe.
Gruß Simon
verwendetes Datenbanksystem: SQL 2005 Express
Hallo zusammen,
ich möchte gerne einen Sql Insert Befehl absetzen, nun wird bei jeden Insert eine GUID vom SqlServer generiert. Wie kann ich dies GUID direkt auslesen. Meine mich erinnern zu können, das es eine Möglichkeit gibt den INSERT mit dem SELECT Befehl zu verbinden. Leider aber nicht mehr genau wie.
Geht sowas oder irre ich mich da?
MfG Simon
verwendetes Datenbanksystem: XML-Files
Hallo,
ich habe auf einem Mobilen Gerät (mit WinXPe) 2 Tabellen (als Xml File gespeichert).
Die eine Tabelle enthält Kundendaten (KdNr, Name, Anschrift) die andere Tabelle besteht aus Zuordnungen (SpedNr, KdNr).
Beispiel der Daten:
Kundendaten:
1,Kunde1, 45678 Irgendwo
2,Kunde3, 45678 Irgendwo
3,Kunde4, 45678 Irgendwo
Zuordnung:
1,1
1,2
2,3
Ich möchte nun, wenn man eine SpedNr wählt, das ich die entsprechenden Kundendaten ausgebe. Also bei SpedNr 1 dann die Daten von KdNr 1 udn 2.
Alle TabellenFelder sind vom String Type.
Wie kann man das am einfachsten lösen?
Gruß Simon
Aso, sorry.
Ich nutze den MS Sql Server Express 2005.
Dazu müsste ich die Änderungen erstmal vernüftig feststellen.
verwendetes Datenbanksystem: SQL
Hallo zusammen,
ich habe mal eine Frage. Gibt es eine "einfache" Lösung eine Tabelle einer Sql-Datenbank auf Änderungen zu prüfen? Am liebsten soll dabei sogar nur 3 Spalten verglichen werden.
Dachte mir das vielleicht, das man die Tabelle ausliest und das in einem DataTable speichert. Beim nächsten auslesen wird dann verglichen ob es Änderungen (geänderte, gelöschte oder neue Datensätze) gibt. Das "Problem" ist, das das Programm welches den Vergleich macht, im Grunde nur die Daten liest und selbst keine Änderungen macht. Bei Änderungen werden die kompletten Daten an einen anderen Teilnehmer (per Funk) versendet. Daher möchte ich nicht Daten senden, wenn es keine Änderungen gibt. Damit die Funkstrecke nicht zu sehr belastet wird.
Gibt es hierfür schon etwas fertiges in C# oder muss man dafür selber Hand anlegen?
Danke schon mal für eure Tipps
Gruß Simon