Какова цель System.Data.SqlClient.SqlParameter.IsNullable?

В настоящее время я пытаюсь написать простой класс-оболочку C # для всех хранимых процедур в базе данных.

При построении некоторых параметров на C # я заметил свойство SqlParameter.IsNullable и задумался, для чего это нужно. Насколько мне известно, Мне нужна процедура, которая выберет в этой таблице адреса, которые находятся в пределах указанного расстояния в милях от переданных значений широты / долготы ....

Итак, у меня есть таблица с кучей разных адресов в ней. Мне нужен процесс, который выберет адреса в этой таблице, которые находятся в пределах указанного расстояния в милях от переданных значений широты / долготы.

Итак, пример моей таблицы:

- messageId
- lat (float)
- long (float)

Процесс проходит в другой паре широта / долгота (как float ), так и int (миль)

Я нашел это http://www.sqlteam.com/forums/topic. asp? TOPIC_ID = 81360 , чтобы вычислить фактическую формулу, но я не могу понять, как изменить ее в форме процедуры, чтобы иметь возможность просмотреть весь список адресов и дать мне только Id ' s адресов, которые

Вот программа, которая компилируется без предупреждения, например, на GNU C ++:

$ g++ -o t -Wall -pedantic -Wshadow t.cpp

$ ./t.exe
Calling barney::barney()
Calling foo::operator()()
Calling barney::barney()

Но она полностью не компилируется на MSVC ++:

$ cl /EHsc t.cpp
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

t.cpp
t.cpp(17) : error C2380: type(s) preceding 'fred' (constructor with return type, or illegal redefinition of current class-name?)
t.cpp(17) : error C2208: 'fred' : no members defined using this type

Более того, когда она компилируется, результат не такой, как я ожидал. Может ли кто-нибудь пролить свет на то, каким должно быть стандартное поведение этого кода ?

Вот оно:

#include 

using ::std::cerr;

struct fred;

struct foo {
   inline fred operator ()();
};

struct barney {
   barney() : v_(0) { cerr << "Calling barney::barney()\n"; }
   int v_;
};

struct fred : public barney {
   foo fred;
   int joe;
   struct fred memfunc() { return fred(); }
};

inline fred foo::operator ()()
{
   cerr << "Calling foo::operator()()\n"; return fred();
}

int main(int argc, const char *argv[])
{
   fred f;
   f.memfunc();
   return 0;
}

Он выводит следующее:

Calling barney::barney()
Calling foo::operator()()
Calling barney::barney()

Но я ожидал этого:

Calling barney::barney()
Calling barney::barney()

Почему я получаю вывод я делаю? Это стандартное поведение? Если да, то почему, какие разделы стандарта имеют отношение к делу?

В дополнение к принятому ответу, Дэвид Родригес дал отличный ответ , детализируя, где в стандарте говорится, что я разрешено объявить член с именем fred из struct fred . {if (icon instanceof ImageIcon) {return ((...

Я пытаюсь преобразовать значок ( javax.swing.Icon ) в изображение ( java.awt.Image ) с помощью этого кода:

private Image iconToImage(Icon icon)
{
    if(icon instanceof ImageIcon)
    {
        return ((ImageIcon) icon).getImage();
    }
    else
    {
        BufferedImage image = new BufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TYPE_INT_RGB);
        icon.paintIcon(null, image.getGraphics(), 0, 0);
        return image;
    }
}

Дело в том, что функция paintIcon выдает исключение NullPointerException в image.getGraphics () .

. Для записи значение значка является значком по умолчанию CheckBox (получено через UIManager.getIcon ("CheckBox.icon") )

Вот сведения о созданном исключении:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at com.sun.java.swing.plaf.windows.WindowsIconFactory$CheckBoxIcon.paintIcon(WindowsIconFactory.java:306)
    at utils.WarningRenderer.iconToImage(WarningRenderer.java:50)
    at utils.WarningRenderer.(WarningRenderer.java:38)
    at deliveryexpress.DeliveryExpressView.setWarnings(DeliveryExpressView.java:278)
    at deliveryexpress.DeliveryExpressView.updateLists(DeliveryExpressView.java:218)
    at deliveryexpress.DeliveryExpressView.access$1100(DeliveryExpressView.java:47)
    at deliveryexpress.DeliveryExpressView$5.addCheck(DeliveryExpressView.java:183)
    at org.japura.gui.model.DefaultListCheckModel.fireCheckListModelListeners(Unknown Source)
    at org.japura.gui.model.DefaultListCheckModel.fireAddCheckListModelListeners(Unknown Source)
    at org.japura.gui.model.DefaultListCheckModel.addCheck(Unknown Source)
    at org.japura.gui.CheckList$1.mouseClicked(Unknown Source)
    at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
    at java.awt.Component.processMouseEvent(Component.java:6292)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    at java.awt.Component.processEvent(Component.java:6054)
    at java.awt.Container.processEvent(Container.java:2041)
    at java.awt.Component.dispatchEventImpl(Component.java:4652)
    at java.awt.Container.dispatchEventImpl(Container.java:2099)
    at java.awt.Component.dispatchEvent(Component.java:4482)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
    at java.awt.Container.dispatchEventImpl(Container.java:2085)
    at java.awt.Window.dispatchEventImpl(Window.java:2478)
    at java.awt.Component.dispatchEvent(Component.java:4482)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
    at java.awt.EventQueue.access$000(EventQueue.java:85)
    at java.awt.EventQueue$1.run(EventQueue.java:603)
    at java.awt.EventQueue$1.run(EventQueue.java:601)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
    at java.awt.EventQueue$2.run(EventQueue.java:617)
    at java.awt.EventQueue$2.run(EventQueue.java:615)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Если вам нужны дополнительные сведения, просто скажите мне, я отредактирую свое сообщение, чтобы добавить их.

Спасибо!

22
задан Matthias Braun 21 April 2018 в 08:26
поделиться