C# DataTable wczytany z bazy daych z tabeli ze zdefiniowanym PrimaryKey nie ma PrimaryKey!

2012-09-18

W bazie danych była sobie tabela ze zdefiniowanym PrimaryKey. Program pobierał sobie te dane do DataSet, ale okazało się, że przy odwoływaniu się do właściwości PrimaryKey powstałego DataTable, Data Table nie posiada Primary Key.

Podczas odczytywania danych do DataTable są kopiowane albo informacje o strukturze albo rekordy. poratowało mnie dopisanie takiej oto linijki:

string sqltext = „SELECT * FROM Production.Product”;
SqlConnection sqlconnection = new SqlConnection(WandaConnectionString);
SqlCommand sqlcommand= new SqlCommand(sqltext, sqlconnection);
SqlDataAdapter sqladapter = new SqlDataAdapter(sqlcommand);
sqladapter.MissingSchemaAction = MissingSchemaAction.AddWithKey; 
DataSet ds = new DataSet();
sqladapter.Fill(ds, „Product”);

Rozwiązanie znalazłem tutaj:

http://forums.codeguru.com/showthread.php?294417-DataTable-doesn-t-contain-primary-key-information

C# Wyjątek od HRESULT: 0x800A03EC w aplikacji wpisującej dane do Excela

2012-09-18

W aplikacji wykorzystującej VSTO w pewnym momencie, a dokładniej przy instrukcji:

rg.Offset[noRow, noColumn].Value = dr[noColumn];

pojawiał się bład:

Wyjątek od HRESULT: 0x800A03EC

Błąd niestety niezbyt komunikatywny. Szukałem rozwiązań. Wpis http://www.made4dotnet.com/Default.aspx?tabid=141&aid=15 przywiódł mnie na myśl, że przyczyną może być próba podejmowana przez Excela w celu sformatowania pola pobieranego w moim przypadku ze źródła danych. Bingo! Kolumną na której proces się wysypywał był ROWGUID, który wygląda mniej więcej tak:

ecfed6cb-51ff-49b5-b06c-7d8ac834db8b

Dopisałem więc w mojej pechowej linijce:

rg.Offset[noRow, noColumn].Value = dr[noColumn].ToString(); 

C# Non-invocable member 'Microsoft.Office.Interop.Excel.Range.Offset’ cannot be used like a method.

2012-09-18

Walczę z VSTO. Znalazłem fajne tutoriale video dotyczące pracy z Excelem z poziomu c#: http://msdn.microsoft.com/en-us/office/hh133459.aspx Przykłądy są niestety w Visual Basic, a ja uwielbiam C#. Dlatego muszę przenosić kod z VB do C#. Ogólnie rzecz biorąc nie jest to trudne zadanie, ale chwilę utknąłem na błędzie

Non-invocable member 'Microsoft.Office.Interop.Excel.Range.Offset’ cannot be used like a method.

Miejsce w kodzie wygląda tak:

excelRange.Offset(0, 0).Value = „abc”;

gdzie excelRange to obiekt typu Excel.Range

Przyczyna jest prosta. W c# należy użyć nawiasów kwadratowych, więc pomogła zmiana na:

excelRange.Offset[0, 0].Value = „abc”;

Dynamiczne grupowanie kolumn w raporcie SSRS – Krok po kroku z obrazkami

2012-09-17

Problem: Chcesz przygotować raport prezentujący, powiedzmy produkty pogrupowane ze względu na kolor, a w ramach kolorów ze względu na klasę lub odwrotnie i z tym odwrotnie masz właśnie kłopot. Użytkownik ma decydować o kolejności grupowania.

 

Czytaj dalej »

By Rafał Kraik in SSRS

C# Otwarcie strony w domyślnej przeglądarce użytkownika

2012-09-14

Aplikacja desktopowa może przesłać do systemu operacyjnego żądanie otwarcia strony internetowej poprzez wywołanie:

Process.Start(http://www.mobilo24.eu);

W takim przypadku żądanie zostanie zrealizowane za pomocą domyślnej aplikacji, czyli otwarta zostanie domyślna przeglądarka.

C# Operacje na rejestrze

2012-09-14

Aby pracować z rejestrem dodaj namespace:

using Microsoft.Win32;

Aby odczytać/sprawdzić obecność klucza możesz wykonać następujace czynności:

string foundValue=null;
//Utwórz klucz, od którego rozpoczniesz "drążenie rejestru"
RegistryKey myKey = Registry.LocalMachine;
//Odwołaj się do podklucza wybranej gałęzi rejestru
RegistryKey subKey = myKey.OpenSubKey("Software\\Mobilo");
//Jeżeli taki klucz był obecny, możesz zwrócić zapisane w nim wartości
if (subKey != null)
{
      //drugi parametr w GetValue to domyślna wartość
      foundValue=subKey.GetValue("Color","Blue").ToString();
}
else
{
      foundValue=null;
}

A teraz, w jaki sposób można tworzyć nowe pozycje w rejestrze:  Czytaj dalej »

Rekrutacja! Młodszy trener w Akademii trenerów IT przy bit Polska

2012-09-13
Młodszy trener w Akademii trenerów IT przy bit Polska
Do kogo skierowany jest program?
•jeśli jesteś studentem studiów informatycznych lub pokrewnych (studia dzienne, zaoczne, absolwenci)
•interesujesz się nowymi technologiami
•lubisz dzielić się wiedzą
•jesteś komunikatywny i otwarty na ludziZapraszamy do uczestnictwa w programie Akademia trenerów IT przy bit Polska.

Czytaj dalej »

By Rafał Kraik in Aktualności