У меня есть приложение Windows Form с компактной базой данных SQL. Он работает на многих компьютерах с Windows. Клиентские ПК на немецком языке. Всегда возвращает ошибки для функций подключения SQL, таких как добавление, удаление и т. Д.
Может ли быть причиной языковая разница?
.....
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ ...
Я проверил все это из-за разницы в датах, поскольку у меня был 2011/1/11 и в то же время 2011-11-11 также формат времени, и я установил, что ...
Однако, еще одна ошибка, я не понимаю, почему на моем компьютере, где я создаю установку, а затем устанавливаю ее, я не сталкиваюсь с этой ошибкой?
The error was in german so i translated it and pasting below:
information on invoking just-in debugging
instead of this dialog box you will find at the end of this release.
************** Exception Text **************
System.NullReferenceException: Object reference not set to an object instance.
at HotelReservationSystem.MyAppartments.DrawPricePeriods (Graphics g) in D: \ ERDDESKTOPPAPP \ New 834th
(Object sender, PaintEventArgs e) at HotelReservationSystem.MyAppartments.panelAppartments_Paint in D: \ ERDDESKTOPPAPP \ New 332nd
at System.Windows.Forms.Control.PaintWithErrorHandling (PaintEventArgs e, Int16 layer)
at System.Windows.Forms.Control.WmPaint (Message & m)
at System.Windows.Forms.Control.WndProc (Message & m)
(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.NativeWindow.Callback
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0.
Win32 Version: 4.0.30319.239 (RTMGDR.030319-2300).
CodeBase: file: / / / C: / Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll.
----------------------------------------
hotel reservation system
Assembly Version: 1.0.0.0.
Win32 Version: 1.0.0.0.
CodeBase: file: / / / C: / Program% 20file% 20 (x86) / Microsoft / hotel setup / bin / Release / HotelReservationSystem.exe.
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0.
Win32 Version: 4.0.30319.235 built by: RTMGDR.
codebase:
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0.
Win32 Version: 4.0.30319.1 built by: RTMRel.
codebase:
----------------------------------------
System
Assembly Version: 4.0.0.0.
Win32 Version: 4.0.30319.236 built by: RTMGDR.
CodeBase: file: / / / C: / Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll.
----------------------------------------
Accessibility
Assembly Version: 4.0.0.0.
Win32 Version: 4.0.30319.1 built by: RTMRel.
codebase:
----------------------------------------
System.Data
Assembly Version: 4.0.0.0.
Win32 Version: 4.0.30319.237 (RTMGDR.030319-2300).
codebase:
----------------------------------------
System.Core
Assembly Version: 4.0.0.0.
Win32 Version: 4.0.30319.233 built by: RTMGDR.
codebase:
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0.
Win32 Version: 4.0.30319.233 built by: RTMGDR.
codebase:
----------------------------------------
System.Windows.Forms.resources
Assembly Version: 4.0.0.0.
Win32 Version: 4.0.30319.1 built by: RTMRel.
codebase:
----------------------------------------
System.Data.DataSetExtensions
Assembly Version: 4.0.0.0.
Win32 Version: 4.0.30319.1 built by: RTMRel.
codebase:
----------------------------------------
System.Numerics
Assembly Version: 4.0.0.0.
Win32 Version: 4.0.30319.1 built by: RTMRel.
codebase:
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0.
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100).
codebase:
----------------------------------------
System.Transactions
Assembly Version: 4.0.0.0.
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100).
codebase:
----------------------------------------
System.EnterpriseServices
Assembly Version: 4.0.0.0.
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100).
codebase:
----------------------------------------
mscorlib.resources
Assembly Version: 4.0.0.0.
Win32 Version: 4.0.30319.235 (RTMGDR.030319-2300).
codebase:
----------------------------------------
************** JIT Debugging **************
To the JIT debugging (Just-In-Time) to activate, must be in the
Configuration file of the application or computer
(Machine.config) jitDebugging the value in the system.windows.forms section are determined.
The application must be compiled with debugging enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</ Configuration>
When JIT debugging is enabled, any unhandled
Exceptions to the JIT debugger sent on the
Computer is registered and handled by this dialog box.
ERROR LINES END HERE , THE CODE REFERRING TO ABOVE...Funstions
834-я строка - пустая строка .......
приватная пустота DrawPricePeriods (Графика г)
{
brush = Brushes.CadetBlue;
pen.Color = Color.White;
RoundRect.DrawRoundRect (г, перо, 2, 50, 796, ((numAppartments + 1) * 60) + 200 + (10 * (numAppartments - 1)), 30);
RoundRect.FillRoundRect (г, кисть, 2, 50, 796, ((numAppartments + 1) * 60) + 200 + (10 * (numAppartments - 1)), 30);
RoundRect.DrawRoundRect(g, pen, 2, 50, 796, 200, 30);
RoundRect.FillRoundRect(g, brush, 2, 50, 796, 200, 30);
sf.Alignment = StringAlignment.Center;
brush = Brushes.White;
Rectangle rect = new Rectangle(2, 50, 796, 30);
Font f = new Font(fontFamily, 12);
switch (language)
{
case 1:
g.DrawString("Please enter in the yellow fields you price periods! And white fields your prices!", f, brush, (RectangleF)rect, sf);
break;
case 2:
g.DrawString("Por favor inserte en las casillas blancas sus temporadas!", f, brush, (RectangleF)rect, sf);
break;
case 3:
g.DrawString("Molimo unesite u žutim prozorima periode cijene! I u bijelim vaše cijene", f, brush, (RectangleF)rect, sf);
break;
}
rect = new Rectangle(2, 70, 796, 30);
switch (language)
{
case 1:
g.DrawString("Please enter first your day (field TT) and then month (field MM)", f, brush, (RectangleF)rect, sf);
break;
case 2:
g.DrawString("Por favor primero insierta el día (casilla TT) después el mes (casilla MM)", f, brush, (RectangleF)rect, sf);
break;
case 3:
g.DrawString("Molimo prvo unesite datum dana (prozor DD) i onda mijesec (prozor MM)", f, brush, (RectangleF)rect, sf);
break;
}
sf.Alignment = StringAlignment.Near;
rect = new Rectangle(255, 50, 796, 30);
brush = Brushes.Yellow;
if(language == 1)
{
g.DrawString("yellow", f, brush, (RectangleF)rect, sf);
}
int w = 140, h = 40, x = 20, y = 150, xinc = 0, yinc = 40;
string[] periods = new string[5];
switch (language)
{
case 1:
periods = new string[5] { "First Price Period", "Second Price Period", "Third Price Period", "Fourth Price Period", "Fifth Price Period" };
break;
case 2:
periods = new string[5] { "Temporada 1", "Temporada 2", "Temporada 3", "Temporada 4", "Temporada 5" };
break;
case 3:
periods = new string[5] { "Perioda 1", "Perioda 2", "Perioda 3", "Perioda 4", "Perioda 5" };
break;
}
Point p;
int count = 0;
switch (numPricePeriods)
{
case 1:
{
x = 796 / 2 - 70;
p = new Point(x, y);
brush = Brushes.White;
g.DrawString(periods[0], f, brush, (PointF)p, sf);
brush = Brushes.Yellow;
RoundRect.DrawRoundRect(g, pen, x, y + 30, w - 10, h + 10, 10);
RoundRect.FillRoundRect(g, brush, x, y + 30, w - 10, h + 10, 10);
arrtbxPPDuration[0].Location = new Point(x + 5, y + 45);
arrtbxPPDuration[0].ForeColor = Color.Gray;
arrtbxPPDuration[0].Text = "TT/MM to TT/MM";
arrtbxPPDuration[0].Show();
yinc = 150;
for (int j = 0; j < numAppartments; j++)
{
RoundRect.DrawRoundRect(g, pen, x, y + yinc, w - 10, 60, 10);
brush = Brushes.LightGray;
RoundRect.FillRoundRect(g, brush, x, y + yinc, w - 10, 60, 10);
arrtbxPricePeriods[count].Location = new Point(x + 5, y + yinc + 15);
arrtbxPricePeriods[count].Show();
count++;
yinc += 70;
}
}
break;
case 2:
{
x = (796 / 3);
for (int i = 0; i < numPricePeriods; i++)
{
p = new Point(x - 70, y);
brush = Brushes.White;
g.DrawString(periods[i], f, brush, (PointF)p, sf);
brush = Brushes.Yellow;
RoundRect.DrawRoundRect(g, pen, x - 70, y + 30, w - 10, h + 10, 10);
RoundRect.FillRoundRect(g, brush, x - 70, y + 30, w - 10, h + 10, 10);
//THIS IS THE 834th LINE
arrtbxPPDuration[i].Location = new Point(x - 65, y + 45);
arrtbxPPDuration[i].ForeColor = Color.Gray;
arrtbxPPDuration[i].Text = "TT/MM to TT/MM";
arrtbxPPDuration[i].Show();
x += (796 / 3);
}
yinc = 150;
for (int i = 0; i < numAppartments; i++)
{
x = (796 / 3);
for (int j = 0; j < numPricePeriods; j++)
{
RoundRect.DrawRoundRect(g, pen, x - 70, y + yinc, w - 10, 60, 10);
brush = Brushes.LightGray;
RoundRect.FillRoundRect(g, brush, x - 70, y + yinc, w - 10, 60, 10);
arrtbxPricePeriods[count].Location = new Point(x - 65, y + yinc + 15);
arrtbxPricePeriods[count].Show();
count++;
x += (796 / 3);
}
yinc += 70;
}
}
break;
case 3:
{
x = (796 / 4);
for (int i = 0; i < numPricePeriods; i++)
{
p = new Point(x - 70, y);
brush = Brushes.White;
g.DrawString(periods[i], f, brush, (PointF)p, sf);
brush = Brushes.Yellow;
RoundRect.DrawRoundRect(g, pen, x - 70, y + 30, w - 10, h + 10, 10);
RoundRect.FillRoundRect(g, brush, x - 70, y + 30, w - 10, h + 10, 10);
arrtbxPPDuration[i].Location = new Point(x - 65, y + 45);
arrtbxPPDuration[i].ForeColor = Color.Gray;
arrtbxPPDuration[i].Text = "TT/MM to TT/MM";
arrtbxPPDuration[i].Show();
x += (796 / 4);
}
yinc = 150;
for (int i = 0; i < numAppartments; i++)
{
x = (796 / 4);
for (int j = 0; j < numPricePeriods; j++)
{
RoundRect.DrawRoundRect(g, pen, x - 70, y + yinc, w - 10, 60, 10);
brush = Brushes.LightGray;
RoundRect.FillRoundRect(g, brush, x - 70, y + yinc, w - 10, 60, 10);
arrtbxPricePeriods[count].Location = new Point(x - 65, y + yinc + 15);
arrtbxPricePeriods[count].Show();
count++;
x += (796 / 4);
}
yinc += 70;
}
}
break;
case 4:
{
x = (796 / 5);
for (int i = 0; i < numPricePeriods; i++)
{
p = new Point(x - 70, y);
brush = Brushes.White;
g.DrawString(periods[i], f, brush, (PointF)p, sf);
brush = Brushes.Yellow;
RoundRect.DrawRoundRect(g, pen, x - 70, y + 30, w - 10, h + 10, 10);
RoundRect.FillRoundRect(g, brush, x - 70, y + 30, w - 10, h + 10, 10);
arrtbxPPDuration[i].Location = new Point(x - 65, y + 45);
arrtbxPPDuration[i].ForeColor = Color.Gray;
arrtbxPPDuration[i].Text = "TT/MM to TT/MM";
arrtbxPPDuration[i].Show();
x += (796 / 5);
}
yinc = 150;
for (int i = 0; i < numAppartments; i++)
{
x = (796 / 5);
for (int j = 0; j < numPricePeriods; j++)
{
RoundRect.DrawRoundRect(g, pen, x - 70, y + yinc, w - 10, 60, 10);
brush = Brushes.LightGray;
RoundRect.FillRoundRect(g, brush, x - 70, y + yinc, w - 10, 60, 10);
arrtbxPricePeriods[count].Location = new Point(x - 65, y + yinc + 15);
arrtbxPricePeriods[count].Show();
count++;
x += (796 / 5);
}
yinc += 70;
}
}
break;
case 5:
{
x = (796 / 6);
int diff = 110;
for (int i = 0; i < numPricePeriods; i++)
{
p = new Point(x - diff, y);
brush = Brushes.White;
g.DrawString(periods[i], f, brush, (PointF)p, sf);
brush = Brushes.Yellow;
RoundRect.DrawRoundRect(g, pen, x - diff, y + 30, w - 10, h + 10, 10);
RoundRect.FillRoundRect(g, brush, x - diff, y + 30, w - 10, h + 10, 10);
arrtbxPPDuration[i].Location = new Point(x - diff + 5, y + 45);
arrtbxPPDuration[i].ForeColor = Color.Gray;
arrtbxPPDuration[i].Text = "TT/MM to TT/MM";
arrtbxPPDuration[i].Show();
x += (796 / 6);
}
yinc = 150;
for (int i = 0; i < numAppartments; i++)
{
x = (796 / 6);
for (int j = 0; j < numPricePeriods; j++)
{
RoundRect.DrawRoundRect(g, pen, x - diff, y + yinc, w - 10, 60, 10);
brush = Brushes.LightGray;
RoundRect.FillRoundRect(g, brush, x - diff, y + yinc, w - 10, 60, 10);
arrtbxPricePeriods[count].Location = new Point(x - diff + 5, y + yinc + 15);
arrtbxPricePeriods[count].Show();
count++;
x += (796 / 6);
diff -= 20;
}
yinc += 70;
}
}
break;
}
}
yinc = 150;
for (int i = 0; i < numAppartments; i++)
{
x = (796 / 6);
for (int j = 0; j < numPricePeriods; j++)
{
RoundRect.DrawRoundRect(g, pen, x - diff, y + yinc, w - 10, 60, 10);
brush = Brushes.LightGray;
RoundRect.FillRoundRect(g, brush, x - diff, y + yinc, w - 10, 60, 10);
arrtbxPricePeriods[count].Location = new Point(x - diff + 5, y + yinc + 15);
arrtbxPricePeriods[count].Show();
count++;
x += (796 / 6);
diff -= 20;
}
yinc += 70;
}
}
break;
}
}
Я знаю, что это беспорядок, но все еще только дает мне подсказку, поскольку я ничего не могу понять ...
Спасибо