Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Топик "как я лажанулся"

Есть совершенно идиотские ошибки, о которых стоит рассказать.
Ответ: 3. Иногда ленился и не хотел писать автоматические тесты для сложных расчетов или алгоритмов, и как результат -- десятки потерянных часов в попытках найти ошибки кода при нестандартных входных данных, а так же постоянная неуверенность -- до конца ли написан код или что-то пропустил.
Вопрос: PHP mysqli - как за-quot-ить имена объектов?

Подскажите, как в PHP правильно обрамить кавычками имена объектов?
В Perl DBI есть удобный метод quote_identifier.
В PHP я такого не нашел.
________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
Ответ: В MySQL используются не двойные кавычки, а обратные ($name="`field`").
Так конечно можно, но quote_identifier удобен тем, что использует способ квотирования от конкретной СУБД.
Вопрос: Как такое может быть - "вылетает" сайт.

Подскажите пожалуйста (MVC C#)

Ставлю код в контроллер, компилирую, вывожу результат в представление.
Все работает, все корректно.

Проходит время - не предсказуем - несколько дней, например, работает, а потом сайт выдает ошибку, "как-бы" - нед кода в контроллере.

Перекомпилируешь - заработало.

Что это может быть и как решить?
Ответ:
vladka63
У меня выделенный удаленный сервер.
Непосредственно на нем и веду разработку (VS).
После перекомпиляции, соответственно, изменения сразу отображаются на сайте.

"После перекомпиляции, соответственно, изменения сразу отображаются на сайте." то есть у вас IIS ссылается на папку данного проекта и Вы не делаете деплой?
Вопрос: Что не так с функцией InStr() или "2x2" не всегда "=4" ?!

Ребята!
Я привык к тому, что код либо работает "правильно" - так, как планировалось, либо не работает - тогда ищем причину...
Но он либо работает, либо нет (всегда!), а не как та блондинка: хочу/не хочу!

Ну ладно еще когда речь идет о сложных логических конструкциях (чего-то недоучел), но базовые функции???!

Недавно столкнулся с лабудой, от которой глаза на лоб полезли: созданная программа в среде VB.NET (2010) на 80% машин идет, но есть экземпляры, где она лагает - стал разбираться и локализовал причину на "неоднозначной" (!!!) работе функции, вынесенной в топик!

При адекватной работе функция InStr() возвращает 1, но на некоторых машинах - 0! Не находит вхождения ((

Что за чушь такая?! С чем это может быть связано и как ее, собаку, заставить ОДИНАКОВО работать везде (это - то же самое, что просить оператор умножения давать всегда "4" при подстановке двоек в качестве аргументов)...

Просто жуть какая-то: может ли кто-либо предположить причины подобного поведения?
Ответ: gva62, вместо msgbox лучше записать текст в файл и посмотреть данные в hex виде сравнив их с рабочей строкой. Возможно код у точки другой будет (это как пример).
Вопрос: с ноута по nfc текст "здравствуй мир" на смарт

здравствуйте, можно ли скрипт написать, его цель передать с ноута по nfc текст "здравствуй мир" на смарт? с проверкой такой возможности, работает ли nfc
Ответ: читаю в инете, не пойму на телефоне приложение Beam обязательно должно быть?
как оно правильно зовётся, Android Beam или просто Beam?
Вопрос: Обсуждение темы "Литература Delphi"

Если возникли какие-либо вопросы или идеи по поводу темы "Литература Delphi", то предлагаю отписываться тут, потому что разводить флуд в той теме неохота, да и исправлять тему потом сложнее будет

 Комментарий модератора deathNC
Флудерам сразу скажу: если нечего сказать по теме, то лучше вообще ничего не пишите!
Ответ:
Цитата Сообщение от deathNC Посмотреть сообщение
Покш, она есть в теме
Или имеешь ввиду, что её перенести в список "Для начинающих"?
Сначала я ее не видел, и предложил добавить. Но так как она есть, думаю стоит ее перенести в раздел "Для начинающих". По-моему очень не плозая книга для начального обучения х)
Вопрос: Запрос к сайту и ошибка "something wrong"

Здравствуйте, есть сайт Moonbitcoin.
Нужно на него посылать пост запрос.
Просниферил браузерный запрос, попытался его скопировать для программы, вышел такой код:
Код C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
public static string Post(string login, string otvet)
        {
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://moonbit.co.in/");
 
            req.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36";
            req.Host = "moonbit.co.in";
            req.Headers.Add("Origin: http://moonbit.co.in");
            //req.KeepAlive = true;
            req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
            req.Method = "POST";
            req.CookieContainer = new CookieContainer();
            req.KeepAlive = true;
            //req.Headers.Add("Cache-Control: max-age=0");
            req.ContentType = "application/x-www-form-urlencoded";
            req.Referer = "http://moonbit.co.in/";
            //req.Headers.Add("Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4");
            //req.Headers.Add("Accept-Encoding: gzip, deflate");
 
            req.CookieContainer = new CookieContainer();
            req.CookieContainer.Add(new Cookie("user", "PaymentAddress=" + login) { Domain = "moonbit.co.in"});
            
 
            //=================
            string data = Get("http://moonbit.co.in", "moonbit.co.in", false, false, false, false);
            string __VIEWSTATE = Parse(data, "id=\"__VIEWSTATE\" value=\"", "\"/>");
            string __VIEWSTATEGENERATOR = Parse(data, "id=\"__VIEWSTATEGENERATOR\" value=\"", "\"/>");
            string __EVENTVALIDATION = Parse(data, "id=\"__EVENTVALIDATION\" value=\"", "\"/>");
            //=================
 
            string postData = "__EVENTTARGET=&__EVENTARGUMENT=&" +
                              "__VIEWSTATE=" + __VIEWSTATE + "&" +
                              "__VIEWSTATEGENERATOR=" + __VIEWSTATEGENERATOR + "&" +
                              "__EVENTVALIDATION=" + __EVENTVALIDATION + "&" +
                              "AB=false&" +
                              "adcopy_response=" + otvet + "&" +
                              "adcopy_challenge=" + challange + "&" +
                              "ctl00$PagePopupPlaceholder$ClaimButton=submit&" +
                              "ctl00$PagePopupPlaceholder$ClaimReadyAlertOption=on&" +
                              "ctl00$PagePopupPlaceholder$ClaimAmountAlertValue=500&" +
                              "ctl00$PagePopupPlaceholder$PageTitleAlertOption=on&" +
                              "ctl00$PagePopupPlaceholder$PlaySoundAlertOption=on";
                            
            //Encoding encoding = Encoding.UTF8;
            byte[] byte1 = System.Text.Encoding.ASCII.GetBytes(postData); 
            req.ContentLength = byte1.Length;
            Stream st=req.GetRequestStream();
            st.Write(byte1, 0, byte1.Length);
            st.Close();
 
            using (HttpWebResponse httpWebResponse = (HttpWebResponse)req.GetResponse())
            { 
                using(StreamReader reader = new StreamReader(httpWebResponse.GetResponseStream())){
                    return reader.ReadLine();   
                }
            }
            
            
        }
Эта функция должна отослать ответ на капчу и "номер" капчи. Но в ответ меня переадресовывает на страницу ошибки "something wrong"
Ответ: Код я уже выше писал. Может кодировать как-то не так? ибо там я вижу до кодирования стоят символы +, а после - на их месте пробел или перенос.

Добавлено через 4 часа 44 минуты
Up,
Вопрос: Hibernate many-to-many "Duplicate entry"

Здравствуйте,
нужна помощь в решении проблемы. Суть такова: есть две entity Parent i Child, у обоих имя уникальное. Связь между ними many-to-many. Изначально создается один child и сохраняется. Затем содается parent и ему сетятся два children`a один из которых с именем, которое уже есть в базе. Нужно чтобы hibernate сохранил parent`a и только новый child в базу и пролинковал оба child`a c parent`oм.

Но при выполнении данного кода sql кидает error "com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'first child' for key 'name'". Hibernate`y чего-то не хватает и он не знает, что такая запись есть и ее нужно только пролинковать. Как сделать так, что-бы он мог определять такую ситуацию?

Код:

ParentEntity.
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@Entity
@Table(name = "parent", uniqueConstraints = {@UniqueConstraint(columnNames = "name")})
public class Parent {
 
    @Id
    @GeneratedValue
    @Column(name = "id")
    private int id;
 
    @Column(name = "name", unique = true)
    private String name;
 
    @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    @JoinTable(name = "parent_child", joinColumns = {
            @JoinColumn(name = "parent_id", referencedColumnName = "id")},
            inverseJoinColumns = {@JoinColumn(name = "child_id")}
    )
    private Set<Child> children;
}
ChildEntity.
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Entity
@Table(name = "child", uniqueConstraints = {@UniqueConstraint(columnNames = "name")})
public class Child {
 
    @Id
    @PrimaryKeyJoinColumn
    @GeneratedValue
    @Column(name = "id")
    private int id;
 
    @Column(name = "name", unique = true)
    private String name;
 
    @ManyToMany(mappedBy = "children", fetch = FetchType.LAZY)
    private Set<Parent> parents;
}
Main.
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public static void main(String[] args) {
        Session session = new Configuration().configure().buildSessionFactory().openSession();
        Child firstChild = new Child("first child");
 
        session.beginTransaction();
        session.saveOrUpdate(firstChild);
        session.getTransaction().commit();
 
        Child secondChild = new Child("second child");
        Child existingChild = new Child("first child");
        Parent parent = new Parent("parent");
 
        Set<Child> children = new HashSet<>();
        children.add(secondChild);
        children.add(existingChild);
 
        parent.setChildren(children);
 
        session.beginTransaction();
        session.persist(parent);
        session.getTransaction().commit();
    }
hibernate.cfg.xml
Код XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
 
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/dbName</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">root</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <property name="show_sql">true</property>
        <mapping class="com.filmstorage.conf.Child" />
        <mapping class="com.filmstorage.conf.Parent" />
    </session-factory>
</hibernate-configuration>
Ответ: Hibernate`y чего-то не хватает и он не знает, что такая запись есть

А откуда он собственно должен знать что запись уже есть? Далее идет использование HashSet, где equals, hashCode?
Далее написано
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
   @Id   
   @GeneratedValue
   @Column(name = "id")
   private int id;
вот и получаете при комите транзакции запись с новым id. Жизненный цикл сущности был просмотрен хотя бы разок?

Далее, где откат транзакции? Или данные не персистились в базу, поэтому добавил использование транзакций?
Вопрос: О чем говорит ошибка "Необъявленный идентификатор"?

Хелп
Код C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
using namespace std;
 
int main()
{
    int x, y;
    x = 10;
    y = 3;
    cout << х / у; // Будет отображено число 3.
    cout << L"\n";
    cout << х%у; /* Будет отображено число 1, т.е. остаток от деления нацело. */
    cout << L"\n";
    х = 1;
    y = 2;
    cout << х/у << L" " << х%у; // Будут выведены числа 0 и 1.
    return 0;
}

1>c:\users\user\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\consoleapplication1.cpp(60): error C2065: х: необъявленный идентификатор
1>c:\users\user\documents\visual studio 2013\projects\consoleapplication1\consoleapplication1\consoleapplication1.cpp(60): error C2065: у: необъявленный идентификатор
Ответ: Вот как то так тогда должно быть!!!!

Код C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main()
{
 
    int x , y, z;
    x = 10;
    y = 3;
    z = x/y;
    cout << z << endl;
    z = x%y;
    cout << z << endl;
 
    x = 1;
    y = 2;
    
    cout << x/y <<  " " << x%y << endl;
 
 
 
    getche();
    return 0;
}
Вопрос: Создание базы данных "Учет клиентов"

Мне предстоит создать базу данных "Учет клиентов" (данный учет должен вестись на ТУРбазе для отдыха) в программе Visual Studio. Помогите сделать данную задачу пожалуйста. В программе должны быть такие столбцы как: "Номер клиента"; "ФИО"; "Дата прибытия"; "Дата отбытия"; "Вид отдыха"; "Цена". Еще должна быть кнопка по поиску определенных клиентов. Вроде как все. Помогите пожалуйста ее сделать, хотя бы правильно начните, заранее спасибо!!!!
Ответ: Создай модель ADO.NET, а по ней и сформируй саму базу.
ПКМ по проекту → Добавить → Создать элемент → Выбери Visual C# → Ищи "Модель ADO.NET EDM".
Там создашь сущность, "столбцы", тип данных у этих "столбцов". Потом ПКМ по модельке → Сформировать базу на основе модели → укажешь тип подключения и вуаля