Every now and again, with no real pattern our application throws a server error.
The error is 'There was a problem Extracting the DataKeyValues from the Datasource Please ensure that dataKeynames are specified......
The error is raised from several places.
The pages are hit 100's of times an hour with the error 4-5 time a day.
The error I'm using version 1215 but the problem as also pressent in previous versions
I have try catches around all my code, but this still gets trhough.
Can anyone shead any light on this please.
Andy
10 Answers, 1 is accepted
Andy
This error means that RadGrid is unable to find the aforementioned datakey in your datasource. Please verify if specified DataKeyNames are available in the grid data source.
I would also suggest you to open a forma support ticket and send us sample runnable application which replicates the error. Thus we will be able to test it locally and advise you further.
Greetings,
Maria Ilieva
the Telerik team
Could it be a networ / ajax / performance error.
It would not be possible (easy) to send a demo as it uses GB's of clinical data.
Any pointer would be appreciate.
Andy
As you cold not provide running sample of your application could you please post some code represents the RadGrid declaration and code behind for the handled events.
All the best,
Maria Ilieva
the Telerik team
I had to use FF because the insert code buttons are missing in IE8
Andy
Part 1 - There error messages:
Gridview/Dashboard.aspx.vb : tmrDashboard_Tick() : Parameters : Location_ID = 180 , Specialty = 114 , Status = 0,1 , TimeScale = 1 : There was a problem extracting DataKeyValues from the DataSource. Please ensure that DataKeyNames are specified correctly and all fields specified exist in the DataSource.
Gridview/Dashboard.aspx.vb : AjaxManager_AjaxRequest / LocationChange() : Parameters : Location_ID = 203 , Specialty = , Status = 0,1 , TimeScale = 1 : sname is neither a DataColumn nor a DataRelation for table .
(The blanks in the request are defaults in the database)
This runs 99% of the time, it only trips up now and again, but enough for the customer to be loosing confidence in the code.
Andy
It lets me post small posts.
A
<%
@ Page Language="VB" AutoEventWireup="false" CodeFile="Dashboard.aspx.vb" Inherits="GridViews_Dashboard"%>
<%
@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head id="Head" runat="server">
<title>Arrivals</title>
<link href="~/App_Themes/Default/Slider.Activity.css" rel="stylesheet" type="text/css" runat="server"/>
<link href="~/App_Themes/Default/Grid.Activity.css" rel="stylesheet" type="text/css" runat="server"/>
<link href="~/App_Themes/Default/GridBorderOverride.css" rel="stylesheet" type="text/css"/>
<link href="~/App_Themes/Default/ComboBox.Activity.css" rel="stylesheet" type="text/css" runat="server"/>
<link href="~/App_Themes/Default/Window.Activity.css" rel="stylesheet" type="text/css" runat="server"/>
<link href="~/App_Themes/Default/TreeView.Activity.css" rel="stylesheet" type="text/css" runat="server"/>
<link href="~/App_Themes/Default/ActivityIcons.css" rel="stylesheet" type="text/css" runat="server"/>
<link href="~/App_Themes/Default/Button.Activity.css" rel="stylesheet" type="text/css" runat="server"/>
<link href="~/App_Themes/Default/Layout.css" rel="stylesheet" type="text/css" runat="server" />
<link href="~/App_Themes/Default/Styles.css" rel="stylesheet" type="text/css" runat="server" />
<telerik:RadScriptBlock ID="RadScriptBlock" runat="server">
<script type="text/javascript" src="../JavaScript/Slider.js"></script>
<script type="text/javascript" src="../JavaScript/Modal.js"></script>
<script type="text/javascript">
function refreshGrid() {
$find(
"<%= AjaxManager.ClientID %>").ajaxRequest("Rebind");
}
function SliderLoaded(sender, args) {
sender.repaint();
$get(
"txtSliderValueArrivals").value = sender.get_value();
}
function pageLoad() {
var comboBox = $find("<%= ddlLocation.ClientID %>");
var tree = comboBox.get_items().getItem(0).findControl("rtvLocation");
var selectedNode = tree.get_selectedNode();
if (selectedNode) {
comboBox.set_text(selectedNode.get_text());
}
}
function StopPropagation(e) {
if (!e) {
e = window.event;
}
e.cancelBubble =
true;
}
function nodeClickingLocation(sender, args) {
var comboBox = $find("<%= ddlLocation.ClientID %>");
var node = args.get_node()
comboBox.set_text(node.get_text());
comboBox.trackChanges();
comboBox.get_items().getItem(0).set_value(node.get_text());
comboBox.get_items().getItem(0).get_attributes().setAttribute(
"nodeValue", node.get_value());
comboBox.commitChanges();
comboBox.hideDropDown();
$find(
"<%= AjaxManager.ClientID %>").ajaxRequest("LocationChange");
}
function DownOpenedHandlerLocation(sender, eventArgs) {
var tree = sender.get_items().getItem(0).findControl("rtvLocation");
var selectedNode = tree.get_selectedNode();
if (selectedNode) {
selectedNode.scrollIntoView();
}
}
</script>
</telerik:RadScriptBlock>
</
head>
<
body id="DashboardbodyMaster" runat="server">
<form id="frmDashboard" runat="server">
<telerik:RadScriptManager ID="ScriptManager" runat="server"></telerik:RadScriptManager>
<telerik:RadAjaxManager ID="AjaxManager" runat="server" UpdatePanelsRenderMode="Inline" DefaultLoadingPanelID="LoadingPanel" OnAjaxRequest="AjaxManager_AjaxRequest">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="AjaxManager">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="ddlSpecialty"/>
<telerik:AjaxUpdatedControl ControlID="btnAddToList"/>
<telerik:AjaxUpdatedControl ControlID="btnRefresh"/>
<telerik:AjaxUpdatedControl ControlID="rdDashboard"/>
<telerik:AjaxUpdatedControl ControlID="lblDuration"/>
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="ddlLocation">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="ddlSpecialty"/>
<telerik:AjaxUpdatedControl ControlID="rdDashboard"/>
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="ddlSpecialty">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="rdDashboard"/>
<telerik:AjaxUpdatedControl ControlID="lblDuration"/>
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="cblStatus">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="rdDashboard"/>
<telerik:AjaxUpdatedControl ControlID="lblDuration"/>
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="rslTimeOffset">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="rdDashboard"/>
<telerik:AjaxUpdatedControl ControlID="lblDuration"/>
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="btnRefresh">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="rdDashboard"/>
<telerik:AjaxUpdatedControl ControlID="lblDuration"/>
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="tmrDashboard">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="rdDashboard"/>
<telerik:AjaxUpdatedControl ControlID="lblDuration"/>
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="rdDashboard">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="rdDashboard"/>
<telerik:AjaxUpdatedControl ControlID="lblDuration"/>
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadWindowManager ID="WindowManager" runat="server" EnableEmbeddedSkins="false" Skin="Activity" Behaviors="Close" VisibleStatusbar="false">
<Windows>
<telerik:RadWindow ID="Actions" runat="server" Title="Actions" Height="450px" Width="720px" Modal="true" />
<telerik:RadWindow ID="UnArrivePatient" runat="server" Title="UnArrive Patient" Height="180px" Width="350px" Modal="true" />
<telerik:RadWindow ID="CallCancel" runat="server" Title="Cancel Current Call" Height="180px" Width="350px" Modal="true" />
<telerik:RadWindow ID="SendToActivity" runat="server" Title="Send To Activity" Height="250px" Width="650px" Modal="true" />
<telerik:RadWindow ID="AddToList" runat="server" Title="Add To List" Height="455px" Width="600px" Modal="true" />
<telerik:RadWindow ID="PasswordChange" runat="server" Title="Password Change" Height="455px" Width="600px" Modal="true" />
<telerik:RadWindow ID="CallMessage" runat="server" Title="Calling Message" Height="200px" Width="550px" Modal="true" />
</Windows>
</telerik:RadWindowManager>
<div id="GridHeader">
<table class="Container">
<tr>
<td rowspan="2">
<table cellpadding="5" cellspacing="3">
<tr>
<th>Location</th>
<th>Specialty</th>
<th>Status</th>
<th>Time scale (+ <input type="text" style="width: 15px;border:none; color:#666;" id="txtSliderValueArrivals" />hr(s))</th>
</tr>
<tr valign="top">
<td>
<telerik:RadComboBox ID="ddlLocation" runat="server" Height="400px" Width="245px" ShowToggleImage="True" Style="vertical-align: middle;" OnClientDropDownOpened="DownOpenedHandlerLocation" EmptyMessage="Click to change Location" CausesValidation="False" EnableEmbeddedSkins="False" Skin="Activity" >
<ItemTemplate>
<div onclick="StopPropagation(event)">
<telerik:RadTreeView ID="rtvLocation" runat="server" EnableEmbeddedSkins="False" Skin="Activity" CausesValidation="False" OnClientNodeClicking="nodeClickingLocation" >
<Nodes>
<telerik:RadTreeNode runat="server" Text="None" Value=""></telerik:RadTreeNode>
</Nodes>
</telerik:RadTreeView>
</div>
</ItemTemplate>
<Items>
<telerik:RadComboBoxItem Text="" />
</Items>
</telerik:RadComboBox>
</td>
<td >
<telerik:RadComboBox ID="ddlSpecialty" runat="server" AutoPostBack="true" AppendDataBoundItems="true" EnableEmbeddedSkins="false" Skin="Activity" Width="185px" Height="300px" emptyMessage="Click to change Specialties" >
<ItemTemplate>
<asp:CheckBox ID="chkSpecialty" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow" AutoPostBack="true"></asp:CheckBox>
<asp:Label ID="lblSpecialty" runat="server" AssociatedControlID="chkSpecialty"><%#Eval("OutcomeFormName") %></asp:Label>
</ItemTemplate>
</telerik:RadComboBox>
</td>
<td><asp:CheckBoxList ID="cblStatus" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow" AutoPostBack="true" RepeatColumns="3"></asp:CheckBoxList></td>
<td><telerik:RadSlider ID="rslTimeOffset" runat="server" OnClientValueChanged="HandleValueChangedArrivals" OnClientLoad="HandleValueChangedArrivals" OnClientLoaded="SliderLoaded" MinimumValue="0" MaximumValue="4" Value="1" Width="150px" AutoPostBack="true" EnableEmbeddedSkins="false" Skin="Activity"></telerik:RadSlider></td>
</tr>
</table>
</td>
<td align="right">
<div id="loading">
<telerik:RadAjaxLoadingPanel ID="LoadingPanel" runat="Server" IsSticky="true" >
<img alt="Loading..." src="../App_Themes/Images/loading6.gif"/>
</telerik:RadAjaxLoadingPanel>
</div>
</td>
<td align="right"> </td>
<td align="right"> </td>
</tr>
<tr>
<td align="right">
<asp:ImageButton ID="btnCallMessage" runat="server" ImageUrl="~/App_Themes/Images/CallMessage_40.png" ToolTip="Call Message" />
</td>
<td align="right"><asp:Label ID="lblDuration" runat="server"></asp:Label></td>
<td align="right">
<telerik:RadButton ID="btnAddToList" Text="Add to list" runat="server" EnableEmbeddedSkins="False" Skin="Activity" Visible="false">
<Icon PrimaryIconUrl="../App_Themes/Images/Add_16.png"/>
</telerik:RadButton>
<telerik:RadButton ID="btnRefresh" Text="Refresh" runat="server" EnableEmbeddedSkins="False" Skin="Activity" Visible="false">
<Icon PrimaryIconUrl="../App_Themes/Images/Refresh_16.png"/>
</telerik:RadButton>
</td>
</tr>
</table>
</div>
<asp:timer ID="tmrDashboard" runat="server" Interval="45000" Enabled="false"/>
<telerik:RadGrid
ID="rdDashboard"
runat="server"
AutoGenerateColumns="False"
EnableEmbeddedSkins="False"
Skin="Activity"
GridLines="None"
>
<MasterTableView DataKeyNames="ID,CurrentLocation_ID">
<Columns>
<telerik:GridBoundColumn DataField="ID" UniqueName="ID" Visible="false"></telerik:GridBoundColumn>
<telerik:GridButtonColumn ButtonType="ImageButton" CommandName="ViewDemog" ImageUrl="~/App_Themes/Images/Demog_Unknown_24.png" UniqueName="ViewDemog"><HeaderStyle Width="1px" /><ItemStyle Width="1px" /></telerik:GridButtonColumn>
<telerik:GridButtonColumn ButtonType="ImageButton" CommandName="Transport" ImageUrl="~/App_Themes/Images/Ambulance_24.png" UniqueName="Transport"><HeaderStyle Width="1px" /><ItemStyle Width="1px" /></telerik:GridButtonColumn>
<telerik:GridButtonColumn ButtonType="ImageButton" CommandName="IsVulnerable" ImageUrl="~/App_Themes/Images/Alert_24.png" UniqueName="IsVulnerable"><HeaderStyle Width="1px" /><ItemStyle Width="1px" /></telerik:GridButtonColumn>
<telerik:GridButtonColumn ButtonType="ImageButton" CommandName="AdditionalEvent" ImageUrl="~/App_Themes/Images/Scales_24.png" UniqueName="AdditionalEvent"><HeaderStyle Width="1px" /><ItemStyle Width="1px" /></telerik:GridButtonColumn>
<telerik:GridButtonColumn ButtonType="ImageButton" CommandName="Activity" ImageUrl="~/App_Themes/Images/Treatment_Add_24.png" UniqueName="Activity"><HeaderStyle Width="1px" /><ItemStyle Width="1px" /></telerik:GridButtonColumn>
<telerik:GridTemplateColumn HeaderText="Patient Name" SortExpression="sname" UniqueName="PatientName" AllowFiltering="true" DataField="sname">
<ItemTemplate>
<asp:Label ID="lblForename" runat="server" Text='<%# Bind("fname1") %>'></asp:Label>
<asp:Label ID="lblSurname" runat="server" Text='<%# Bind("sname") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="" UniqueName="Controls" AllowFiltering="false"><HeaderStyle Width="1px" />
<ItemTemplate>
<asp:ImageButton ID="imbAssign" runat="server" ImageUrl="~/App_Themes/Images/Assign_24.png" title="Send to Activity" Visible="false"/>
<asp:Literal ID="ltlActivity" runat="server"></asp:Literal>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="Patient_ID" HeaderText="Patient ID" SortExpression="Patient_ID" UniqueName="Patient_ID"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Clinic" HeaderText="Clinic" SortExpression="Clinic" UniqueName="Clinic" AllowFiltering="true"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="CurrentLocation" HeaderText="Location" SortExpression="CurrentLocation" UniqueName="CurrentLocation" AllowFiltering="true"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Specialty" HeaderText="Specialty" SortExpression="Specialty" UniqueName="Specialty" AllowFiltering="true"></telerik:GridBoundColumn>
<telerik:GridTemplateColumn HeaderText="Time" SortExpression="AppTime" AllowFiltering="false" DataField="AppTime">
<ItemTemplate>
<asp:Label ID="lblApptime" runat="server" Text='<%# Bind("Apptime") %>'></asp:Label>
<asp:Label ID="lblvisit_Type" runat="server" Text='<%# Bind("visit_Type") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Main Arrival" SortExpression="TimeArrival" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" AllowFiltering="false" UniqueName="MainArrival">
<ItemTemplate>
<asp:CheckBox ID="chkTimeArrival" runat="server" AutoPostBack="True"/>
<asp:Label ID="lblTimeArrival" runat="server" Text='<%# Bind("TimeArrival") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridButtonColumn ButtonType="ImageButton" CommandName="AttendStatus" ImageUrl="~/App_Themes/Images/Unknown_16.png" UniqueName="AttendStatus" Visible="true"><HeaderStyle Width="1px" /><ItemStyle Width="1px" /></telerik:GridButtonColumn>
<telerik:GridButtonColumn ButtonType="ImageButton" CommandName="Call" ImageUrl="~/App_Themes/Images/Call_24.png" UniqueName="Call" Visible="true"><HeaderStyle Width="1px" /><ItemStyle Width="1px" /></telerik:GridButtonColumn>
<telerik:GridBoundColumn DataField="CurrentLocationEvent_ID" UniqueName="CurrentLocationEvent_ID" Visible="false"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Call2LocationEvent_ID" UniqueName="Call2LocationEvent_ID" Visible="false"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Return2LocationEvent_ID" UniqueName="Return2LocationEvent_ID" Visible="false"></telerik:GridBoundColumn>
<telerik:GridTemplateColumn HeaderText="Arrival" SortExpression="LocationArrival" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" AllowFiltering="false" UniqueName="LocationArrival">
<ItemTemplate>
<asp:CheckBox ID="chkLocationArrival" runat="server" AutoPostBack="True" visible="false" OnCheckedChanged="chkLocationArrival_CheckedChanged"/>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" AllowFiltering="false" UniqueName="Arrival">
<ItemTemplate>
<asp:Button ID="btnAction" runat="server" Text="Action" CssClass="gridbtn_50" />
<asp:CheckBox ID="chkComplete" runat="server" AutoPostBack="True" Visible="false" OnCheckedChanged="chkComplete_CheckedChanged"/>
</ItemTemplate>
<ItemStyle Width="60px" />
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<
FilterMenu EnableEmbeddedSkins="False"></FilterMenu>
</telerik:RadGrid>
</
form>
</
body>
</
html>
Imports
System
Imports
System.Data
Imports
System.Data.SqlClient
Imports
System.Configuration
Public
Class DashboardGrid
Inherits DAL
Public Function DashboardGrid(ByVal _Location_ID As Int32, ByVal _Specialty As String, ByVal _Status As String, ByVal _TimeOffset As Int32, ByVal _User_GUID As Guid) As DataTable
_Class =
"DashboardGrid"
_Function =
"DashboardGrid()"
InitiateDAL()
Dim sqlCmd As New SqlCommand()
Dim sqlDa As New SqlDataAdapter(sqlCmd)
Dim dt As New DataTable
Try
With sqlCmd
.CommandType = CommandType.StoredProcedure
.CommandText =
"DashboardGrid"
.Connection = _sqlConn
.Parameters.Add(
"@Location_ID", SqlDbType.Int).Value = _Location_ID
If Len(_Specialty) = 0 Then
.Parameters.Add(
"@Specialty", SqlDbType.VarChar, 40).Value = Nothing
Else
.Parameters.Add(
"@Specialty", SqlDbType.VarChar, 40).Value = _Specialty
End If
.Parameters.Add(
"@Status", SqlDbType.VarChar, 10).Value = _Status
.Parameters.Add(
"@TimeOffset", SqlDbType.Int).Value = _TimeOffset
.Parameters.Add(
"@User_GUID", SqlDbType.UniqueIdentifier).Value = _User_GUID
.Parameters.Add(
"@ReturnValue", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
End With
sqlDa.Fill(dt)
Return dt
Catch ex As Exception
_ErrorMessage = ex.Message
LogError(_Class &
":" & _Function & ": " & _ErrorMessage)
Return dt
End Try
End Function
Public Function NotesUpdate(ByVal _Appointment_ID As Int32, ByVal _User_GUID As Guid) As Boolean
_Class =
"DashboardGrid"
_Function =
"NotesUpdate()"
Try
InitiateDAL()
Dim sqlCmd As New SqlCommand()
With sqlCmd
.CommandType = CommandType.StoredProcedure
.CommandText =
"NotesUpdate"
.Connection = _sqlConn
.Parameters.Add(
"@Appointment_ID", SqlDbType.VarChar, 20).Value = _Appointment_ID
.Parameters.Add(
"@User_GUID", SqlDbType.UniqueIdentifier).Value = _User_GUID
.Parameters.Add(
"@ReturnValue", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
.Connection.Open()
.ExecuteScalar()
End With
If sqlCmd.Parameters("@ReturnValue").Value = 0 Then
NotesUpdate = 1
Else
NotesUpdate = sqlCmd.Parameters(
"@ReturnValue").Value
End If
Catch ex As Exception
_ErrorMessage = ex.Message
LogError(_Class &
":" & _Function & ": " & _ErrorMessage)
Return False
End Try
End Function
Public Function InClinicUpdate(ByVal _Appointment_ID As Int32, ByVal _User_GUID As Guid) As Boolean
_Class =
"DashboardGrid"
_Function =
"InClinicUpdate()"
Try
InitiateDAL()
Dim sqlCmd As New SqlCommand()
With sqlCmd
.CommandType = CommandType.StoredProcedure
.CommandText =
"InClinicUpdate"
.Connection = _sqlConn
.Parameters.Add(
"@Appointment_ID", SqlDbType.VarChar, 20).Value = _Appointment_ID
.Parameters.Add(
"@User_GUID", SqlDbType.UniqueIdentifier).Value = _User_GUID
.Parameters.Add(
"@ReturnValue", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
.Connection.Open()
.ExecuteScalar()
End With
If sqlCmd.Parameters("@ReturnValue").Value = 0 Then
InClinicUpdate = 1
Else
InClinicUpdate = sqlCmd.Parameters(
"@ReturnValue").Value
End If
Catch ex As Exception
_ErrorMessage = ex.Message
LogError(_Class &
":" & _Function & ": " & _ErrorMessage)
Return False
End Try
End Function
Public Function CompleteUpdate(ByVal _Appointment_ID As Int32, ByVal _User_GUID As Guid) As Boolean
_Class =
"DashboardGrid"
_Function =
"CompleteUpdate()"
Try
InitiateDAL()
Dim sqlCmd As New SqlCommand()
With sqlCmd
.CommandType = CommandType.StoredProcedure
.CommandText =
"CompleteUpdate"
.Connection = _sqlConn
.Parameters.Add(
"@Appointment_ID", SqlDbType.VarChar, 20).Value = _Appointment_ID
.Parameters.Add(
"@User_GUID", SqlDbType.UniqueIdentifier).Value = _User_GUID
.Parameters.Add(
"@ReturnValue", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
.Connection.Open()
.ExecuteScalar()
End With
If sqlCmd.Parameters("@ReturnValue").Value = 0 Then
CompleteUpdate = 1
Else
CompleteUpdate = sqlCmd.Parameters(
"@ReturnValue").Value
End If
Catch ex As Exception
_ErrorMessage = ex.Message
LogError(_Class &
":" & _Function & ": " & _ErrorMessage)
Return False
End Try
End Function
Public Function CallMessageInsert(ByVal _CallMessage As String, ByVal _User_GUID As Guid) As Boolean
_Class =
"DashboardGrid"
_Function =
"CallMessageInsert()"
Try
InitiateDAL()
Dim sqlCmd As New SqlCommand()
With sqlCmd
.CommandType = CommandType.StoredProcedure
.CommandText =
"infoCallMessageInsert"
.Connection = _sqlConn
.Parameters.Add(
"@CallMessage", SqlDbType.VarChar, 255).Value = _CallMessage
.Parameters.Add(
"@User_GUID", SqlDbType.UniqueIdentifier).Value = _User_GUID
.Parameters.Add(
"@ReturnValue", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
.Connection.Open()
.ExecuteScalar()
End With
If sqlCmd.Parameters("@ReturnValue").Value = 0 Then
CallMessageInsert = 1
Else
CallMessageInsert = sqlCmd.Parameters(
"@ReturnValue").Value
End If
Catch ex As Exception
_ErrorMessage = ex.Message
LogError(_Class &
":" & _Function & ": " & _ErrorMessage)
Return False
End Try
End Function
Public Function CallMessageGet() As String
_Class =
"DashboardGrid"
_Function =
"CallMessageGet()"
InitiateDAL()
Dim sqlCmd As New SqlCommand()
Try
With sqlCmd
.CommandType = CommandType.StoredProcedure
.CommandText =
"infoCallMessageGet"
.Connection = _sqlConn
.Connection.Open()
End With
CallMessageGet = sqlCmd.ExecuteScalar()
Catch ex As Exception
_ErrorMessage = ex.Message
LogError(_Class &
":" & _Function & ": " & _ErrorMessage)
CallMessageGet =
""
End Try
End Function
End
Class
Please revise the answered provided in the official support ticket you have opened for this issue.
Best wishes,
Maria Ilieva
the Telerik team