WCF для DB Нулевое исключение - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь подключить WPF к WCF к БД, но получаю нулевое исключение, и я не знаю, как его отладить или что происходит не так

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace StockWcf
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to 
    change the class name "Service1" in both code and config file together.
    public class Service1 : IService1
    {
        SqlConnection conn;
        SqlCommand comm;

        SqlConnectionStringBuilder connStringBuilder;
        void ConnectToDb()
        {
            connStringBuilder = new SqlConnectionStringBuilder();
            connStringBuilder.DataSource = @"(LocalDB)\MSSQLLocalDB";
            connStringBuilder.InitialCatalog = @"C:\Projects\Assignment 3\StockApp\StockApp\StockApp.mdf";
            connStringBuilder.Encrypt = true;
            connStringBuilder.TrustServerCertificate = true;
            connStringBuilder.ConnectTimeout = 30;
            connStringBuilder.AsynchronousProcessing = true;
            connStringBuilder.MultipleActiveResultSets = true;
            connStringBuilder.IntegratedSecurity = true;

            conn = new SqlConnection(connStringBuilder.ToString());
            comm = conn.CreateCommand();

        }
        public string GetData(int value)
        {
            return string.Format("You entered: {0}", value);
        }

        public CompositeType GetDataUsingDataContract(CompositeType composite)
        {
            if (composite == null)
            {
                throw new ArgumentNullException("composite");
            }
            if (composite.BoolValue)
            {
                composite.StringValue += "Suffix";
            }
            return composite;
        }

        public Member GetMember(Member m)
        {
            Member member = new Member();
            try
            {
                comm.CommandText = "select * from Users where username=@username and password=@password";
                comm.Parameters.AddWithValue("username", m.username);
                comm.Parameters.AddWithValue("password", m.password);
                comm.CommandType = CommandType.Text;

                conn.Open();

                SqlDataReader reader = comm.ExecuteReader();
                while (reader.Read())
                {
                    member.Id = Convert.ToInt32(reader[0]);
                    member.username = reader[1].ToString();
                    member.firstname = reader[2].ToString();
                    member.lastname = reader[3].ToString();
                    member.email = reader[4].ToString();
                    member.password = reader[5].ToString();
                    member.lastSearchAll = reader[6].ToString();
                    member.lastSearchHistory = reader[7].ToString();
                    member.lastSearchLive = reader[8].ToString();
                }

                return member;
            }
            catch (Exception)
            {

                throw;
            }

            finally
            {
                if(conn != null)
                {
                    conn.Close();
                }
            }
        }
    }
}

System.NullReferenceException: 'Ссылка на объект не установленак экземпляру объекта. '

Каждый раз, когда я пытаюсь отладить, устанавливая точки останова в Visual Studio и куда бы я ни ставил, это просто заставляет меня прямо ловить (throw;), и я не знаю, что происходитнеправильно, пожалуйста, помогите мне, так как я новичок в wcf и у меня нет большого опыта с подключением к БД в целом

http://prntscr.com/nd8tn0

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