Я определил выходной параметр, как показано ниже: < /p>
c#: < /p>
scom.Parameters.Add("@User_ID",SqlDbType.VarChar,8).Direction = ParameterDirection.Output ;
< /code>
sql: < /p>
@User_ID varchar(8) output
< /code>
Я получаю полную строку при выполнении процедуры в SQL Server, но получаю только первый символ в C#. Я много искал и гарантировал, что размер определяется как в C#, так и в SQL. Даже я попытался с характером фиксированной длины (Char (8)), но все же получил только первый персонаж в C#. Пожалуйста, дайте мне знать, в чем проблема.public bool CheckPhone(string phoneNumber)
{
SqlConnection myconn=new SqlConnection(connectionString);
try
{
myconn.Open();
SqlCommand scom = new SqlCommand("AuthenticatePhone", myconn);
scom.CommandType = CommandType.StoredProcedure;
scom.Parameters.Add("@phoneNumber", SqlDbType.BigInt).Value = Convert.ToInt64(phoneNumber);
scom.Parameters.Add("@User_ID", SqlDbType.Char, 8).Direction = ParameterDirection.Output;
scom.Parameters.Add("@User_Name", SqlDbType.Char, 120).Direction = ParameterDirection.Output;
scom.ExecuteNonQuery();
if (scom.Parameters["@User_Name"] == null)
{
return false;
}
else
{
UserID = (string)scom.Parameters["@User_ID"].Value;//.ToString();
UserName = (string)scom.Parameters["@User_Name"].Value;//.ToString();
myconn.Close();
return true;
}
}
catch (Exception e)
{
string error = e.InnerException + e.Message;
}
finally
{
myconn.Close();
}
return false;
}
< /code>
sql: < /strong> < /p>
Create procedure dbo.AuthenticatePhone
@phoneNumber numeric(11,0) ,
@User_ID varchar(8) output ,
@User_Name varchar(120) output
as
begin
Select @User_ID = convert(varchar(8),[User_ID]) ,
@User_Name = [User_Name]
from dbo.NRE_Users
where PhoneNumber = @phoneNumber
;
print @User_ID
print @User_Name
end
Подробнее здесь: https://stackoverflow.com/questions/223 ... in-c-sharp
Получение только первого символа в выходном параметре в C# ⇐ C#
Место общения программистов C#
-
Anonymous
1753373896
Anonymous
Я определил выходной параметр, как показано ниже: < /p>
c#: < /p>
scom.Parameters.Add("@User_ID",SqlDbType.VarChar,8).Direction = ParameterDirection.Output ;
< /code>
sql: < /p>
@User_ID varchar(8) output
< /code>
Я получаю полную строку при выполнении процедуры в SQL Server, но получаю только первый символ в C#. Я много искал и гарантировал, что размер определяется как в C#, так и в SQL. Даже я попытался с характером фиксированной длины (Char (8)), но все же получил только первый персонаж в C#. Пожалуйста, дайте мне знать, в чем проблема.public bool CheckPhone(string phoneNumber)
{
SqlConnection myconn=new SqlConnection(connectionString);
try
{
myconn.Open();
SqlCommand scom = new SqlCommand("AuthenticatePhone", myconn);
scom.CommandType = CommandType.StoredProcedure;
scom.Parameters.Add("@phoneNumber", SqlDbType.BigInt).Value = Convert.ToInt64(phoneNumber);
scom.Parameters.Add("@User_ID", SqlDbType.Char, 8).Direction = ParameterDirection.Output;
scom.Parameters.Add("@User_Name", SqlDbType.Char, 120).Direction = ParameterDirection.Output;
scom.ExecuteNonQuery();
if (scom.Parameters["@User_Name"] == null)
{
return false;
}
else
{
UserID = (string)scom.Parameters["@User_ID"].Value;//.ToString();
UserName = (string)scom.Parameters["@User_Name"].Value;//.ToString();
myconn.Close();
return true;
}
}
catch (Exception e)
{
string error = e.InnerException + e.Message;
}
finally
{
myconn.Close();
}
return false;
}
< /code>
sql: < /strong> < /p>
Create procedure dbo.AuthenticatePhone
@phoneNumber numeric(11,0) ,
@User_ID varchar(8) output ,
@User_Name varchar(120) output
as
begin
Select @User_ID = convert(varchar(8),[User_ID]) ,
@User_Name = [User_Name]
from dbo.NRE_Users
where PhoneNumber = @phoneNumber
;
print @User_ID
print @User_Name
end
Подробнее здесь: [url]https://stackoverflow.com/questions/22357668/getting-only-first-character-in-output-parameter-in-c-sharp[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия