Форма окна c # (мне нужно распечатать форму Crystal Report 1 пользователь только) - PullRequest
0 голосов
/ 11 марта 2019

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

if (conect.State != ConnectionState.Open)
        {
            conect.Open();
        }

        string cs = "select * from Sign_Up where ID='"+textBox1.Text+"'";
        OleDbCommand command = new OleDbCommand(cs, conect);
        OleDbDataAdapter adap = new OleDbDataAdapter(command);
        DataSet ds = new DataSet();

        adap.Fill(ds, "Sign_Up");

        CrystalReport1 crs1 = new CrystalReport1();
        crs1.SetDataSource(ds.Tables["Sign_Up"]);
        crs1.SetDataSource(ds);
        crystalReportViewer1.ReportSource = crs1;
        conect.Close();
        crystalReportViewer1.Refresh();

и это моя ошибка

System.Data.OleDb.OleDbException: 'Несоответствие типов данных в выражении критериев.'

по этому коду adap.Fill(ds, "Sign_Up");

у кого-нибудь есть предложения?

1 Ответ

0 голосов
/ 11 марта 2019

Не используйте разделители апострофов для критериев поля числового типа, они для текстовых полей.Это приводит к ошибке «несоответствие типов данных».

string cs = "select * from Sign_Up where ID=" + textBox1.Text;

Использование параметров будет жизненно важным, если проект имеет какой-либо общедоступный доступ (веб, удаленный пользователь).sal будет объявленной переменной параметра, а @ означает использование параметра в операторе SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...